Preparation

Clean the environment.

Set locations, and the working directory.

A package-installation function.

Load those packages.

We will create a datestamp and define the Utrecht Science Park Colour Scheme.

# Function to grep data from glm()/lm()
GLM.CON <- function(fit, DATASET, x_name, y, verbose=c(TRUE,FALSE)){
  cat("Analyzing in dataset '", DATASET ,"' the association of '", x_name ,"' with '", y ,"' .\n")
  if (nrow(summary(fit)$coefficients) == 1) {
    output = c(DATASET, x_name, y, rep(NA,8))
    cat("Model not fitted; probably singular.\n")
  }else {
    cat("Collecting data.\n\n")
    effectsize = summary(fit)$coefficients[2,1]
    SE = summary(fit)$coefficients[2,2]
    OReffect = exp(summary(fit)$coefficients[2,1])
    CI_low = exp(effectsize - 1.96 * SE)
    CI_up = exp(effectsize + 1.96 * SE)
    tvalue = summary(fit)$coefficients[2,3]
    pvalue = summary(fit)$coefficients[2,4]
    R = summary(fit)$r.squared
    R.adj = summary(fit)$adj.r.squared
    sample_size = nrow(model.frame(fit))
    AE_N = AEDB.CEA.samplesize
    Perc_Miss = 100 - ((sample_size * 100)/AE_N)
    
    output = c(DATASET, x_name, y, effectsize, SE, OReffect, CI_low, CI_up, tvalue, pvalue, R, R.adj, AE_N, sample_size, Perc_Miss)
    
    if (verbose == TRUE) {
    cat("We have collected the following and summarize it in an object:\n")
    cat("Dataset...................:", DATASET, "\n")
    cat("Score/Exposure/biomarker..:", x_name, "\n")
    cat("Trait/outcome.............:", y, "\n")
    cat("Effect size...............:", round(effectsize, 6), "\n")
    cat("Standard error............:", round(SE, 6), "\n")
    cat("Odds ratio (effect size)..:", round(OReffect, 3), "\n")
    cat("Lower 95% CI..............:", round(CI_low, 3), "\n")
    cat("Upper 95% CI..............:", round(CI_up, 3), "\n")
    cat("T-value...................:", round(tvalue, 6), "\n")
    cat("P-value...................:", signif(pvalue, 8), "\n")
    cat("R^2.......................:", round(R, 6), "\n")
    cat("Adjusted r^2..............:", round(R.adj, 6), "\n")
    cat("Sample size of AE DB......:", AE_N, "\n")
    cat("Sample size of model......:", sample_size, "\n")
    cat("Missing data %............:", round(Perc_Miss, 6), "\n")
    } else {
      cat("Collecting data in summary object.\n")
    }
  }
  return(output)
  print(output)
}

GLM.BIN <- function(fit, DATASET, x_name, y, verbose=c(TRUE,FALSE)){
  cat("Analyzing in dataset '", DATASET ,"' the association of '", x_name ,"' with '", y ,"' ...\n")
  if (nrow(summary(fit)$coefficients) == 1) {
    output = c(DATASET, x_name, y, rep(NA,9))
    cat("Model not fitted; probably singular.\n")
  }else {
    cat("Collecting data...\n")
    effectsize = summary(fit)$coefficients[2,1]
    SE = summary(fit)$coefficients[2,2]
    OReffect = exp(summary(fit)$coefficients[2,1])
    CI_low = exp(effectsize - 1.96 * SE)
    CI_up = exp(effectsize + 1.96 * SE)
    zvalue = summary(fit)$coefficients[2,3]
    pvalue = summary(fit)$coefficients[2,4]
    dev <- fit$deviance
    nullDev <- fit$null.deviance
    modelN <- length(fit$fitted.values)
    R.l <- 1 - dev / nullDev
    R.cs <- 1 - exp(-(nullDev - dev) / modelN)
    R.n <- R.cs / (1 - (exp(-nullDev/modelN)))
    sample_size = nrow(model.frame(fit))
    AE_N = AEDB.CEA.samplesize
    Perc_Miss = 100 - ((sample_size * 100)/AE_N)
    
    output = c(DATASET, x_name, y, effectsize, SE, OReffect, CI_low, CI_up, zvalue, pvalue, R.l, R.cs, R.n, AE_N, sample_size, Perc_Miss)
    if (verbose == TRUE) {
    cat("We have collected the following and summarize it in an object:\n")
    cat("Dataset...................:", DATASET, "\n")
    cat("Score/Exposure/biomarker..:", x_name, "\n")
    cat("Trait/outcome.............:", y, "\n")
    cat("Effect size...............:", round(effectsize, 6), "\n")
    cat("Standard error............:", round(SE, 6), "\n")
    cat("Odds ratio (effect size)..:", round(OReffect, 3), "\n")
    cat("Lower 95% CI..............:", round(CI_low, 3), "\n")
    cat("Upper 95% CI..............:", round(CI_up, 3), "\n")
    cat("Z-value...................:", round(zvalue, 6), "\n")
    cat("P-value...................:", signif(pvalue, 8), "\n")
    cat("Hosmer and Lemeshow r^2...:", round(R.l, 6), "\n")
    cat("Cox and Snell r^2.........:", round(R.cs, 6), "\n")
    cat("Nagelkerke's pseudo r^2...:", round(R.n, 6), "\n")
    cat("Sample size of AE DB......:", AE_N, "\n")
    cat("Sample size of model......:", sample_size, "\n")
    cat("Missing data %............:", round(Perc_Miss, 6), "\n")
    } else {
      cat("Collecting data in summary object.\n")
    }
  }
  return(output)
  print(output)
}

Background

Using a Mendelian Randomization approach, we recently examined associations between the circulating levels of 41 cytokines and growth factors and the risk of stroke in the MEGASTROKE GWAS dataset (67,000 stroke cases and 450,000 controls) and found Monocyte chemoattractant protein-1 (MCP-1) as the cytokine showing the strongest association with stroke, particularly large artery and cardioembolic stroke (Georgakis et al., 2019a). Genetically elevated MCP-1 levels were also associated with a higher risk of coronary artery disease and myocardial infarction (Georgakis et al., 2019a). Further, in a meta-analysis of 6 observational population-based of longitudinal cohort studies we recently showed that baseline levels of MCP-1 were associated with a higher risk of ischemic stroke over follow-up (Georgakis et al., 2019b). While these data suggest a central role of MCP-1 in the pathogenesis of atherosclerosis, it remains unknown if MCP-1 levels in the blood really reflect MCP-1 activity. MCP-1 is expressed in the atherosclerotic plaque and attracts monocytes in the subendothelial space (Nelken et al., 1991; Papadopoulou et al., 2008; Takeya et al., 1993; Wilcox et al., 1994). Thus, MCP-1 levels in the plaque might more strongly reflect MCP-1 signaling. However, it remains unknown if MCP-1 plaque levels associate with plaque vulnerability or risk of cardiovascular events.

Objectives

Against this background we now aim to make use of the data from Athero-Express Biobank Study to explore the associations of MCP-1 protein levels in the atherosclerotic plaques from patients undergoing carotid endarterectomy with phenotypes of plaque vulnerability and secondary vascular events over a follow-up of three years.

Methods

Blood

OLINK-platform

  • IL6: Interleukin 6. Entrez Gene: 3569. OLINK, plasma
  • MCP1: Monocyte chemotactic protein 1, MCP-1 (Chemokine (C-C motif) ligand 2, CCL2). Entrez Gene: 6347. OLINK, plasma

THESE DATA ARE NOT AVAILABLE YET

Plaque

Luminex-platform, measured by Luminex

  • MCP1: Monocyte chemotactic protein 1 (a.k.a. CCL2; Entrez Gene: 6347) concentration in plaque [pg/ug]. Measured in two experiments, variables MCP1 and MCP1_pg_ug_2015. The latter was corrected for plaque total protein concentration.
  • IL6: Interleuking 6 (IL6; Entrez Gene: 3569) concentration in plaque [pg/ug].
  • IL6R: Interleuking 6 receptor (IL6R; Entrez Gene: 3570) concentration in plaque [pg/ug].

FACS platform

  • IL6: Interleukin 6. Entrez Gene: 3569. Bender MedSystems; cat.nr.: BMS810FF. Recalculated FACS. [pg/mL]

Loading data

Clinical data

Loading Athero-Express clinical data.

require(haven)

# AEDB <- haven::read_sav(paste0(AEDB_loc, "/2019-3NEW_AtheroExpressDatabase_ScientificAE_02072019_IC_added.sav"))
AEDBraw <- haven::read_sav(paste0(AEDB_loc, "/2020_1_NEW_AtheroExpressDatabase_ScientificAE_16-03-2020.sav"))

head(AEDBraw)

Loading Athero-Express plaque protein measurements from 2015.

library(openxlsx)
AEDB_Protein_2015 <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_Proteins/Cytokines_and_chemokines_2015/20200629_MPCF015-0024.xlsx"), sheet = "for_SPSS_R")

names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "SampleID"] <- "STUDY_NUMBER"

head(AEDB_Protein_2015)
NA

We will merge these measurements to the AEDB for comparing pg/ug vs. pg/mL measurements of MCP1 - also in relation to plaque phenotypes. In addition we have more information the experiment and can correct for this.

names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL6_pg_ml"] <- "IL6_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL6R_pg_ml"] <- "IL6R_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL8_pg_ml"] <- "IL8_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "MCP1_pg_ml"] <- "MCP1_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "RANTES_pg_ml"] <- "RANTES_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "PAI1_pg_ml"] <- "PAI1_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "MCSF_pg_ml"] <- "MCSF_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Adiponectin_ng_ml"] <- "Adiponectin_ng_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Segment_isolated_Tris"] <- "Segment_isolated_Tris_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Tris_protein_conc_ug_ml"] <- "Tris_protein_conc_ug_ml_2015"

temp <- subset(AEDB_Protein_2015, select = c("STUDY_NUMBER", "IL6_pg_ml_2015", "IL6R_pg_ml_2015", "IL8_pg_ml_2015", "MCP1_pg_ml_2015", "RANTES_pg_ml_2015", "PAI1_pg_ml_2015", "MCSF_pg_ml_2015", "Adiponectin_ng_ml_2015", "Segment_isolated_Tris_2015", "Tris_protein_conc_ug_ml_2015"))

AEDB <- merge(AEDBraw, temp, by.x = "STUDY_NUMBER", by.y = "STUDY_NUMBER", sort = FALSE,
              all.x = TRUE)
rm(temp)

temp <- subset(AEDB, select = c("STUDY_NUMBER", "MCP1", "MCP1_pg_ug_2015", "MCP1_pg_ml_2015", "Segment_isolated_Tris_2015"))

head(temp)
NA

Examine AEDB

We can examine the contents of the Athero-Express Biobank dataset to know what each variable is called, what class (type) it has, and what the variable description is.

There is an excellent post on this: https://www.r-bloggers.com/working-with-spss-labels-in-r/.

AEDB %>% sjPlot::view_df(show.type = TRUE,
                         show.frq = TRUE,
                         show.prc = TRUE,
                         show.na = TRUE, 
                         max.len = TRUE, 
                         wrap.labels = 20,
                         verbose = FALSE, 
                         use.viewer = FALSE,
                         file = paste0(OUT_loc, "/", Today, ".AEDB.dictionary.html")) 

Fixing and creating variables

We need to be very strict in defining symptoms. Therefore we will fix a new variable that groups symptoms at inclusion.

Coding of symptoms is as follows:

  • missing -999
  • Asymptomatic 0
  • TIA 1
  • minor stroke 2
  • Major stroke 3
  • Amaurosis fugax 4
  • Four vessel disease 5
  • Vertebrobasilary TIA 7
  • Retinal infarction 8
  • Symptomatic, but aspecific symtoms 9
  • Contralateral symptomatic occlusion 10
  • retinal infarction 11
  • armclaudication due to occlusion subclavian artery, CEA needed for bypass 12
  • retinal infarction + TIAs 13
  • Ocular ischemic syndrome 14
  • ischemisch glaucoom 15
  • subclavian steal syndrome 16
  • TGA 17

We will group as follows in Symptoms.5G:

  1. Asymptomatic > 0
  2. TIA > 1, 7, 13
  3. Stroke > 2, 3
  4. Ocular > 4, 14, 15
  5. Retinal infarction > 8, 11
  6. Other > 5, 9, 10, 12, 16, 17

We will also group as follows in AsymptSympt:

  1. Asymptomatic > 0
  2. TIA > 1, 7, 13 + Stroke > 2, 3
  3. Ocular > 4, 14, 15 + Retinal infarction > 8, 11 + Other > 5, 9, 10, 12, 16, 17

We will also group as follows in AsymptSympt2G:

  1. Asymptomatic > 0
  2. TIA > 1, 7, 13 + Stroke > 2, 3 Ocular > 4, 14, 15 + Retinal infarction > 8, 11 + Other > 5, 9, 10, 12, 16, 17
# Fix symptoms

attach(AEDB)

AEDB$sympt[is.na(AEDB$sympt)] <- -999

# Symptoms.5G
AEDB[,"Symptoms.5G"] <- NA
# AEDB$Symptoms.5G[sympt == "NA"] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == -999] <- NA
AEDB$Symptoms.5G[sympt == 0] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == 1 | sympt == 7 | sympt == 13] <- "TIA"
AEDB$Symptoms.5G[sympt == 2 | sympt == 3] <- "Stroke"
AEDB$Symptoms.5G[sympt == 4 | sympt == 14 | sympt == 15 ] <- "Ocular"
AEDB$Symptoms.5G[sympt == 8 | sympt == 11] <- "Retinal infarction"
AEDB$Symptoms.5G[sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Other"

# AsymptSympt
AEDB[,"AsymptSympt"] <- NA
AEDB$AsymptSympt[sympt == -999] <- NA
AEDB$AsymptSympt[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3] <- "Symptomatic"
AEDB$AsymptSympt[sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Ocular and others"

# AsymptSympt
AEDB[,"AsymptSympt2G"] <- NA
AEDB$AsymptSympt2G[sympt == -999] <- NA
AEDB$AsymptSympt2G[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt2G[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3 | sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Symptomatic"

detach(AEDB)

# table(AEDB$sympt, useNA = "ifany")
# table(AEDB$AsymptSympt2G, useNA = "ifany")
# table(AEDB$Symptoms.5G, useNA = "ifany")
# 
# table(AEDB$AsymptSympt2G, AEDB$sympt, useNA = "ifany")
# table(AEDB$Symptoms.5G, AEDB$sympt, useNA = "ifany")
table(AEDB$AsymptSympt2G, AEDB$Symptoms.5G, useNA = "ifany")
              
               Asymptomatic Ocular Other Retinal infarction Stroke  TIA <NA>
  Asymptomatic          333      0     0                  0      0    0    0
  Symptomatic             0    417   119                 43    733 1045    0
  <NA>                    0      0     0                  0      0    0 1103
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "sympt", "Symptoms.5G", "AsymptSympt"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# table(AEDB.temp$Symptoms.5G, AEDB.temp$AsymptSympt)
# 
# rm(AEDB.temp)

We will also fix the plaquephenotypes variable.

Coding of symptoms is as follows:

  • missing -999
  • not relevant -888
  • fibrous 1
  • fibroatheromatous 2
  • atheromatous 3

# Fix plaquephenotypes
attach(AEDB)
AEDB[,"OverallPlaquePhenotype"] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == 1] <- "fibrous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 2] <- "fibroatheromatous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 3] <- "atheromatous"
detach(AEDB)

table(AEDB$OverallPlaquePhenotype)

     atheromatous fibroatheromatous           fibrous 
              550               843              1439 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "plaquephenotype", "OverallPlaquePhenotype"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix the diabetes status variable. We define diabetes as history of a diagnosis and/or use of glucose-lowering medications.

# Fix diabetes
attach(AEDB)
AEDB[,"DiabetesStatus"] <- NA
AEDB$DiabetesStatus[DM.composite == -999] <- NA
AEDB$DiabetesStatus[DM.composite == 0] <- "Control (no Diabetes Dx/Med)"
AEDB$DiabetesStatus[DM.composite == 1] <- "Diabetes"
detach(AEDB)

table(AEDB$DM.composite)

   0    1 
2766  985 
table(AEDB$DiabetesStatus)

Control (no Diabetes Dx/Med)                     Diabetes 
                        2766                          985 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix the smoking status variable. We are interested in whether someone never, ever or is currently (at the time of inclusion) smoking. This is based on the questionnaire.

  • diet801: are you a smoker?
  • diet802: did you smoke in the past?

We already have some variables indicating smoking status:

  • SmokingReported: patient has reported to smoke.
  • SmokingYearOR: smoking in the year of surgery?
  • SmokerCurrent: currently smoking?
require(labelled)
AEDB$diet801 <- to_factor(AEDB$diet801)
AEDB$diet802 <- to_factor(AEDB$diet802)
AEDB$diet805 <- to_factor(AEDB$diet805)
AEDB$SmokingReported <- to_factor(AEDB$SmokingReported)
AEDB$SmokerCurrent <- to_factor(AEDB$SmokerCurrent)
AEDB$SmokingYearOR <- to_factor(AEDB$SmokingYearOR)

# table(AEDB$diet801)
# table(AEDB$diet802)
# table(AEDB$SmokingReported)
# table(AEDB$SmokerCurrent)
# table(AEDB$SmokingYearOR)
# table(AEDB$SmokingReported, AEDB$SmokerCurrent, useNA = "ifany", dnn = c("Reported smoking", "Current smoker"))
# 
# table(AEDB$diet801, AEDB$diet802, useNA = "ifany", dnn = c("Smoker", "Past smoker"))

cat("\nFixing smoking status.\n")

Fixing smoking status.
attach(AEDB)
AEDB[,"SmokerStatus"] <- NA
AEDB$SmokerStatus[diet802 == "don't know"] <- "Never smoked"
AEDB$SmokerStatus[diet802 == "I still smoke"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "no"] <- "Never smoked"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "yes"] <- "Ex-smoker"
AEDB$SmokerStatus[SmokerCurrent == "yes"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no data available/missing"] <- NA
# AEDB$SmokerStatus[is.na(SmokerCurrent)] <- "Never smoked"
detach(AEDB)

cat("\n* Current smoking status.\n")

* Current smoking status.
table(AEDB$SmokerCurrent,
      useNA = "ifany", 
      dnn = c("Current smoker"))
Current smoker
no data available/missing                        no                       yes                      <NA> 
                        0                      2364                      1310                       119 
cat("\n* Updated smoking status.\n")

* Updated smoking status.
table(AEDB$SmokerStatus,
      useNA = "ifany", 
      dnn = c("Updated smoking status"))
Updated smoking status
Current smoker      Ex-smoker   Never smoked           <NA> 
          1310           1814            389            280 
cat("\n* Comparing to 'SmokerCurrent'.\n")

* Comparing to 'SmokerCurrent'.
table(AEDB$SmokerStatus, AEDB$SmokerCurrent, 
      useNA = "ifany", 
      dnn = c("Updated smoking status", "Current smoker"))
                      Current smoker
Updated smoking status no data available/missing   no  yes <NA>
        Current smoker                         0    0 1310    0
        Ex-smoker                              0 1814    0    0
        Never smoked                           0  389    0    0
        <NA>                                   0  161    0  119
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix the alcohol status variable.


# Fix diabetes
attach(AEDB)
AEDB[,"AlcoholUse"] <- NA
AEDB$AlcoholUse[diet810 == -999] <- NA
AEDB$AlcoholUse[diet810 == 0] <- "No"
AEDB$AlcoholUse[diet810 == 1] <- "Yes"
detach(AEDB)

table(AEDB$AlcoholUse)

  No  Yes 
1238 2346 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix a history of CAD, stroke or peripheral intervention status variable. This will be based on CAD_history, Stroke_history, and Peripheral.interv


# Fix diabetes
attach(AEDB)
AEDB[,"MedHx_CVD"] <- NA
AEDB$MedHx_CVD[CAD_history == 0 | Stroke_history == 0 | Peripheral.interv == 0] <- "No"
AEDB$MedHx_CVD[CAD_history == 1 | Stroke_history == 1 | Peripheral.interv == 1] <- "yes"
detach(AEDB)

table(AEDB$CAD_history)

   0    1 
2432 1285 
table(AEDB$Stroke_history)

   0    1 
2764  948 
table(AEDB$Peripheral.interv)

   0    1 
2581 1099 
table(AEDB$MedHx_CVD)

  No  yes 
1310 2476 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

Athero-Express Biobank Study

Baseline characteristics

We are interested in the following variables at baseline.

  • Age (years)
  • Female sex (N, %)
  • Hypertension (N, %)
  • SBP (mmHg)
  • DBP (mmHg)
  • Diabetes mellitus (N, %)
  • Total cholesterol levels (mg/dL)
  • LDL cholesterol levels (mg/dL)
  • HDL cholesterol levels (mg/dL)
  • Triglyceride levels (mg/dL)
  • Use of statins (N, %)
  • Use of antiplatelet drugs (N, %)
  • BMI (kg/m²)
  • Smoking status (N, %)
    • Never smokers
    • Ex-smokers
    • Current smokers
  • History of CAD (N, %)
  • History of PAD (N, %)
  • Clinical manifestations
    • Asymptomatic
    • Amaurosis fugax
    • TIA
    • Stroke
  • eGFR (mL/min/1.73 m²)
  • MCP-1 plaque levels (pg/mL) (LUMINEX based, two experiments MCP1, and MCP1_pg_ug_2015)

NOT AVAILABLE YET - MCP-1 plasma levels (pg/mL) (OLINK based)

cat("===========================================================================================\n")
===========================================================================================
cat("CREATE BASELINE TABLE\n")
CREATE BASELINE TABLE
# Baseline table variables
basetable_vars = c("Hospital", "ORyear",
                   "Age", "Gender", 
                   "TC_finalCU", "LDL_finalCU", "HDL_finalCU", "TG_finalCU", 
                   "TC_final", "LDL_final", "HDL_final", "TG_final", 
                   "hsCRP_plasma",
                   "systolic", "diastoli", "GFR_MDRD", "BMI", 
                   "KDOQI", "BMI_WHO",
                   "SmokerStatus", "AlcoholUse",
                   "DiabetesStatus", 
                   "Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs", 
                   "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD", 
                   "Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt", "AsymptSympt2G",
                   "restenos", "stenose",
                   "MedHx_CVD", "CAD_history", "PAOD", "Peripheral.interv", 
                   "EP_composite", "EP_composite_time",
                   "macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
                   "neutrophils", "Mast_cells_plaque",
                   "IPH.bin", "vessel_density_averaged",
                   "Calc.bin", "Collagen.bin", 
                   "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype",
                   "IL6", "IL6_pg_ug_2015", "IL6R_pg_ug_2015",
                   "MCP1", "MCP1_pg_ug_2015", "MCP1_pg_ml_2015")

basetable_bin = c("Gender", 
                  "KDOQI", "BMI_WHO",
                  "SmokerStatus", "AlcoholUse",
                  "DiabetesStatus", 
                  "Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs", 
                  "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD", 
                  "Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt", "AsymptSympt2G",
                  "restenos", "stenose",
                  "CAD_history", "PAOD", "Peripheral.interv", 
                  "EP_composite", "Macrophages.bin", "SMC.bin",
                  "IPH.bin", 
                  "Calc.bin", "Collagen.bin", 
                  "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype")
# basetable_bin

basetable_con = basetable_vars[!basetable_vars %in% basetable_bin]
# basetable_con

All patients

Showing the baseline table of the whole Athero-Express Biobank.

# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         # strata = "Symptoms.4g",
                                         data = AEDB, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:3]
                                      
                                       level                                                                     Overall           Missing
  n                                                                                                                 3793                  
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     45.7 (1735)     0.0   
                                       UMC Utrecht                                                                  54.3 (2058)           
  ORyear % (freq)                      No data available/missing                                                     0.0 (   0)     0.0   
                                       2002                                                                          2.5 (  94)           
                                       2003                                                                          5.4 ( 204)           
                                       2004                                                                          7.6 ( 289)           
                                       2005                                                                          8.1 ( 309)           
                                       2006                                                                          7.5 ( 285)           
                                       2007                                                                          6.2 ( 234)           
                                       2008                                                                          5.9 ( 223)           
                                       2009                                                                          7.1 ( 268)           
                                       2010                                                                          8.1 ( 307)           
                                       2011                                                                          7.1 ( 270)           
                                       2012                                                                          8.2 ( 312)           
                                       2013                                                                          6.9 ( 262)           
                                       2014                                                                          7.9 ( 299)           
                                       2015                                                                          2.1 (  79)           
                                       2016                                                                          3.3 ( 124)           
                                       2017                                                                          2.2 (  85)           
                                       2018                                                                          2.1 (  80)           
                                       2019                                                                          1.8 (  69)           
  Age (mean (SD))                                                                                                 68.906 (9.322)    0.0   
  Gender % (freq)                      female                                                                       30.6 (1161)     0.0   
                                       male                                                                         69.4 (2632)           
  TC_finalCU (mean (SD))                                                                                         185.256 (81.509)  46.8   
  LDL_finalCU (mean (SD))                                                                                        106.533 (40.725)  54.5   
  HDL_finalCU (mean (SD))                                                                                         46.591 (16.725)  51.1   
  TG_finalCU (mean (SD))                                                                                         154.212 (99.774)  51.8   
  TC_final (mean (SD))                                                                                             4.798 (2.111)   46.8   
  LDL_final (mean (SD))                                                                                            2.759 (1.055)   54.5   
  HDL_final (mean (SD))                                                                                            1.207 (0.433)   51.1   
  TG_final (mean (SD))                                                                                             1.743 (1.127)   51.8   
  hsCRP_plasma (mean (SD))                                                                                        19.231 (206.750) 60.6   
  systolic (mean (SD))                                                                                           150.901 (25.114)  13.5   
  diastoli (mean (SD))                                                                                            79.933 (21.847)  13.5   
  GFR_MDRD (mean (SD))                                                                                            74.844 (24.740)   6.5   
  BMI (mean (SD))                                                                                                 26.336 (4.050)    7.5   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (   0)     6.6   
                                       Normal kidney function                                                       22.1 ( 839)           
                                       CKD 2 (Mild)                                                                 47.2 (1789)           
                                       CKD 3 (Moderate)                                                             21.9 ( 831)           
                                       CKD 4 (Severe)                                                                1.4 (  53)           
                                       CKD 5 (Failure)                                                               0.8 (  32)           
                                       <NA>                                                                          6.6 ( 249)           
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (   0)     7.5   
                                       Underweight                                                                   1.2 (  44)           
                                       Normal                                                                       35.2 (1336)           
                                       Overweight                                                                   42.1 (1595)           
                                       Obese                                                                        14.1 ( 533)           
                                       <NA>                                                                          7.5 ( 285)           
  SmokerStatus % (freq)                Current smoker                                                               34.5 (1310)     7.4   
                                       Ex-smoker                                                                    47.8 (1814)           
                                       Never smoked                                                                 10.3 ( 389)           
                                       <NA>                                                                          7.4 ( 280)           
  AlcoholUse % (freq)                  No                                                                           32.6 (1238)     5.5   
                                       Yes                                                                          61.9 (2346)           
                                       <NA>                                                                          5.5 ( 209)           
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 72.9 (2766)     1.1   
                                       Diabetes                                                                     26.0 ( 985)           
                                       <NA>                                                                          1.1 (  42)           
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (   0)     4.0   
                                       no                                                                           23.7 ( 900)           
                                       yes                                                                          72.3 (2742)           
                                       <NA>                                                                          4.0 ( 151)           
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (   0)     5.5   
                                       no                                                                           28.6 (1086)           
                                       yes                                                                          65.9 (2500)           
                                       <NA>                                                                          5.5 ( 207)           
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (   0)     1.3   
                                       no                                                                           13.3 ( 505)           
                                       yes                                                                          85.4 (3240)           
                                       <NA>                                                                          1.3 (  48)           
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (   0)     1.5   
                                       no                                                                           21.0 ( 798)           
                                       yes                                                                          77.5 (2940)           
                                       <NA>                                                                          1.5 (  55)           
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (   0)     1.6   
                                       no                                                                           85.6 (3248)           
                                       yes                                                                          12.8 ( 485)           
                                       <NA>                                                                          1.6 (  60)           
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (   0)     1.6   
                                       no                                                                           13.7 ( 521)           
                                       yes                                                                          84.7 (3213)           
                                       <NA>                                                                          1.6 (  59)           
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (   0)     1.5   
                                       no                                                                           21.8 ( 826)           
                                       yes                                                                          76.7 (2911)           
                                       <NA>                                                                          1.5 (  56)           
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (   0)     8.1   
                                       No stroke diagnosed                                                          74.4 (2823)           
                                       Stroke diagnosed                                                             17.5 ( 663)           
                                       <NA>                                                                          8.1 ( 307)           
  sympt % (freq)                       missing                                                                      29.1 (1103)     0.0   
                                       Asymptomatic                                                                  8.8 ( 333)           
                                       TIA                                                                          27.4 (1040)           
                                       minor stroke                                                                 12.1 ( 458)           
                                       Major stroke                                                                  7.3 ( 275)           
                                       Amaurosis fugax                                                              10.5 ( 399)           
                                       Four vessel disease                                                           1.1 (  43)           
                                       Vertebrobasilary TIA                                                          0.1 (   5)           
                                       Retinal infarction                                                            1.0 (  37)           
                                       Symptomatic, but aspecific symtoms                                            1.6 (  61)           
                                       Contralateral symptomatic occlusion                                           0.3 (  12)           
                                       retinal infarction                                                            0.2 (   6)           
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (   1)           
                                       retinal infarction + TIAs                                                     0.0 (   0)           
                                       Ocular ischemic syndrome                                                      0.5 (  18)           
                                       ischemisch glaucoom                                                           0.0 (   0)           
                                       subclavian steal syndrome                                                     0.1 (   2)           
                                       TGA                                                                           0.0 (   0)           
  Symptoms.5G % (freq)                 Asymptomatic                                                                  8.8 ( 333)    29.1   
                                       Ocular                                                                       11.0 ( 417)           
                                       Other                                                                         3.1 ( 119)           
                                       Retinal infarction                                                            1.1 (  43)           
                                       Stroke                                                                       19.3 ( 733)           
                                       TIA                                                                          27.6 (1045)           
                                       <NA>                                                                         29.1 (1103)           
  AsymptSympt % (freq)                 Asymptomatic                                                                  8.8 ( 333)    29.1   
                                       Ocular and others                                                            15.3 ( 579)           
                                       Symptomatic                                                                  46.9 (1778)           
                                       <NA>                                                                         29.1 (1103)           
  AsymptSympt2G % (freq)               Asymptomatic                                                                  8.8 ( 333)    29.1   
                                       Symptomatic                                                                  62.1 (2357)           
                                       <NA>                                                                         29.1 (1103)           
  restenos % (freq)                    missing                                                                       0.0 (   0)     4.0   
                                       de novo                                                                      87.0 (3299)           
                                       restenosis                                                                    8.8 ( 334)           
                                       stenose bij angioseal na PTCA                                                 0.2 (   7)           
                                       <NA>                                                                          4.0 ( 153)           
  stenose % (freq)                     missing                                                                       0.0 (   0)     7.0   
                                       0-49%                                                                         0.7 (  25)           
                                       50-70%                                                                        6.8 ( 257)           
                                       70-90%                                                                       35.6 (1349)           
                                       90-99%                                                                       29.9 (1133)           
                                       100% (Occlusion)                                                             14.8 ( 560)           
                                       NA                                                                            0.1 (   3)           
                                       50-99%                                                                        2.6 (  99)           
                                       70-99%                                                                        2.6 ( 100)           
                                       99                                                                            0.1 (   2)           
                                       <NA>                                                                          7.0 ( 265)           
  MedHx_CVD % (freq)                   No                                                                           34.5 (1310)     0.2   
                                       yes                                                                          65.3 (2476)           
                                       <NA>                                                                          0.2 (   7)           
  CAD_history % (freq)                 Missing                                                                       0.0 (   0)     2.0   
                                       No history CAD                                                               64.1 (2432)           
                                       History CAD                                                                  33.9 (1285)           
                                       <NA>                                                                          2.0 (  76)           
  PAOD % (freq)                        missing/no data                                                               0.0 (   0)     1.6   
                                       no                                                                           55.1 (2090)           
                                       yes                                                                          43.3 (1644)           
                                       <NA>                                                                          1.6 (  59)           
  Peripheral.interv % (freq)           no                                                                           68.0 (2581)     3.0   
                                       yes                                                                          29.0 (1099)           
                                       <NA>                                                                          3.0 ( 113)           
  EP_composite % (freq)                No data available.                                                            0.0 (   0)     7.3   
                                       No composite endpoints                                                       60.6 (2299)           
                                       Composite endpoints                                                          32.1 (1218)           
                                       <NA>                                                                          7.3 ( 276)           
  EP_composite_time (mean (SD))                                                                                    2.267 (1.203)    7.4   
  macmean0 (mean (SD))                                                                                             0.656 (1.154)   32.4   
  smcmean0 (mean (SD))                                                                                             2.292 (6.618)   32.4   
  Macrophages.bin % (freq)             no/minor                                                                     42.3 (1603)    25.7   
                                       moderate/heavy                                                               32.1 (1216)           
                                       <NA>                                                                         25.7 ( 974)           
  SMC.bin % (freq)                     no/minor                                                                     22.9 ( 870)    25.3   
                                       moderate/heavy                                                               51.8 (1964)           
                                       <NA>                                                                         25.3 ( 959)           
  neutrophils (mean (SD))                                                                                        162.985 (490.469) 91.0   
  Mast_cells_plaque (mean (SD))                                                                                  165.663 (163.421) 93.0   
  IPH.bin % (freq)                     no                                                                           32.3 (1225)    24.8   
                                       yes                                                                          42.9 (1628)           
                                       <NA>                                                                         24.8 ( 940)           
  vessel_density_averaged (mean (SD))                                                                              8.030 (6.344)   48.0   
  Calc.bin % (freq)                    no/minor                                                                     37.9 (1438)    24.7   
                                       moderate/heavy                                                               37.4 (1417)           
                                       <NA>                                                                         24.7 ( 938)           
  Collagen.bin % (freq)                no/minor                                                                     14.2 ( 540)    25.2   
                                       moderate/heavy                                                               60.6 (2299)           
                                       <NA>                                                                         25.2 ( 954)           
  Fat.bin_10 % (freq)                   <10%                                                                        32.3 (1226)    24.7   
                                        >10%                                                                        43.0 (1630)           
                                       <NA>                                                                         24.7 ( 937)           
  Fat.bin_40 % (freq)                  <40%                                                                         60.0 (2276)    24.7   
                                       >40%                                                                         15.3 ( 580)           
                                       <NA>                                                                         24.7 ( 937)           
  OverallPlaquePhenotype % (freq)      atheromatous                                                                 14.5 ( 550)    25.3   
                                       fibroatheromatous                                                            22.2 ( 843)           
                                       fibrous                                                                      37.9 (1439)           
                                       <NA>                                                                         25.3 ( 961)           
  IL6 (mean (SD))                                                                                                 94.451 (278.490) 84.5   
  IL6_pg_ug_2015 (mean (SD))                                                                                       0.134 (0.541)   67.2   
  IL6R_pg_ug_2015 (mean (SD))                                                                                      0.211 (0.251)   67.1   
  MCP1 (mean (SD))                                                                                               130.926 (118.422) 83.7   
  MCP1_pg_ug_2015 (mean (SD))                                                                                      0.596 (0.879)   65.4   
  MCP1_pg_ml_2015 (mean (SD))                                                                                    587.541 (843.110) 65.3   

CEA patients

Showing the baseline table of the CEA patients in the Athero-Express Biobank.

# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.CEA.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         # strata = "Symptoms.4g",
                                         data = AEDB.CEA, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:3]
                                      
                                       level                                                                     Overall           Missing
  n                                                                                                                 2423                  
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     39.1 ( 948)     0.0   
                                       UMC Utrecht                                                                  60.9 (1475)           
  ORyear % (freq)                      No data available/missing                                                     0.0 (   0)     0.0   
                                       2002                                                                          3.3 (  81)           
                                       2003                                                                          6.5 ( 157)           
                                       2004                                                                          7.8 ( 190)           
                                       2005                                                                          7.6 ( 185)           
                                       2006                                                                          7.6 ( 183)           
                                       2007                                                                          6.3 ( 152)           
                                       2008                                                                          5.7 ( 138)           
                                       2009                                                                          7.5 ( 182)           
                                       2010                                                                          6.6 ( 159)           
                                       2011                                                                          6.8 ( 164)           
                                       2012                                                                          7.3 ( 176)           
                                       2013                                                                          6.1 ( 149)           
                                       2014                                                                          6.7 ( 163)           
                                       2015                                                                          3.1 (  76)           
                                       2016                                                                          3.5 (  85)           
                                       2017                                                                          2.7 (  65)           
                                       2018                                                                          2.7 (  66)           
                                       2019                                                                          2.1 (  52)           
  Age (mean (SD))                                                                                                 69.103 (9.302)    0.0   
  Gender % (freq)                      female                                                                       30.5 ( 739)     0.0   
                                       male                                                                         69.5 (1684)           
  TC_finalCU (mean (SD))                                                                                         184.852 (56.275)  38.0   
  LDL_finalCU (mean (SD))                                                                                        108.484 (41.794)  45.6   
  HDL_finalCU (mean (SD))                                                                                         46.432 (16.999)  41.7   
  TG_finalCU (mean (SD))                                                                                         151.189 (91.249)  42.8   
  TC_final (mean (SD))                                                                                             4.788 (1.458)   38.0   
  LDL_final (mean (SD))                                                                                            2.810 (1.082)   45.6   
  HDL_final (mean (SD))                                                                                            1.203 (0.440)   41.7   
  TG_final (mean (SD))                                                                                             1.708 (1.031)   42.8   
  hsCRP_plasma (mean (SD))                                                                                        19.887 (231.453) 52.9   
  systolic (mean (SD))                                                                                           152.408 (25.163)  11.3   
  diastoli (mean (SD))                                                                                            81.314 (25.178)  11.3   
  GFR_MDRD (mean (SD))                                                                                            73.115 (21.145)   5.4   
  BMI (mean (SD))                                                                                                 26.488 (3.976)    5.9   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (   0)     5.4   
                                       Normal kidney function                                                       19.1 ( 462)           
                                       CKD 2 (Mild)                                                                 50.9 (1233)           
                                       CKD 3 (Moderate)                                                             22.9 ( 554)           
                                       CKD 4 (Severe)                                                                1.3 (  32)           
                                       CKD 5 (Failure)                                                               0.4 (  10)           
                                       <NA>                                                                          5.4 ( 132)           
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (   0)     5.9   
                                       Underweight                                                                   1.0 (  24)           
                                       Normal                                                                       35.1 ( 851)           
                                       Overweight                                                                   43.4 (1052)           
                                       Obese                                                                        14.5 ( 352)           
                                       <NA>                                                                          5.9 ( 144)           
  SmokerStatus % (freq)                Current smoker                                                               33.2 ( 805)     5.9   
                                       Ex-smoker                                                                    48.0 (1163)           
                                       Never smoked                                                                 12.9 ( 313)           
                                       <NA>                                                                          5.9 ( 142)           
  AlcoholUse % (freq)                  No                                                                           34.5 ( 835)     4.1   
                                       Yes                                                                          61.5 (1489)           
                                       <NA>                                                                          4.1 (  99)           
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 75.2 (1822)     1.1   
                                       Diabetes                                                                     23.7 ( 574)           
                                       <NA>                                                                          1.1 (  27)           
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (   0)     3.2   
                                       no                                                                           24.3 ( 590)           
                                       yes                                                                          72.4 (1755)           
                                       <NA>                                                                          3.2 (  78)           
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (   0)     4.4   
                                       no                                                                           30.0 ( 726)           
                                       yes                                                                          65.6 (1590)           
                                       <NA>                                                                          4.4 ( 107)           
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (   0)     1.2   
                                       no                                                                           14.6 ( 354)           
                                       yes                                                                          84.2 (2041)           
                                       <NA>                                                                          1.2 (  28)           
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (   0)     1.4   
                                       no                                                                           23.4 ( 566)           
                                       yes                                                                          75.3 (1824)           
                                       <NA>                                                                          1.4 (  33)           
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (   0)     1.6   
                                       no                                                                           87.3 (2116)           
                                       yes                                                                          11.1 ( 269)           
                                       <NA>                                                                          1.6 (  38)           
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (   0)     1.5   
                                       no                                                                           12.2 ( 295)           
                                       yes                                                                          86.3 (2092)           
                                       <NA>                                                                          1.5 (  36)           
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (   0)     1.4   
                                       no                                                                           20.3 ( 491)           
                                       yes                                                                          78.3 (1898)           
                                       <NA>                                                                          1.4 (  34)           
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (   0)     6.9   
                                       No stroke diagnosed                                                          71.5 (1732)           
                                       Stroke diagnosed                                                             21.7 ( 525)           
                                       <NA>                                                                          6.9 ( 166)           
  sympt % (freq)                       missing                                                                       0.0 (   0)     0.0   
                                       Asymptomatic                                                                 11.1 ( 270)           
                                       TIA                                                                          39.7 ( 961)           
                                       minor stroke                                                                 16.8 ( 407)           
                                       Major stroke                                                                  9.9 ( 239)           
                                       Amaurosis fugax                                                              15.7 ( 380)           
                                       Four vessel disease                                                           1.6 (  38)           
                                       Vertebrobasilary TIA                                                          0.2 (   5)           
                                       Retinal infarction                                                            1.4 (  34)           
                                       Symptomatic, but aspecific symtoms                                            2.2 (  53)           
                                       Contralateral symptomatic occlusion                                           0.5 (  11)           
                                       retinal infarction                                                            0.2 (   6)           
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (   1)           
                                       retinal infarction + TIAs                                                     0.0 (   0)           
                                       Ocular ischemic syndrome                                                      0.7 (  16)           
                                       ischemisch glaucoom                                                           0.0 (   0)           
                                       subclavian steal syndrome                                                     0.1 (   2)           
                                       TGA                                                                           0.0 (   0)           
  Symptoms.5G % (freq)                 Asymptomatic                                                                 11.1 ( 270)     0.0   
                                       Ocular                                                                       16.3 ( 396)           
                                       Other                                                                         4.3 ( 105)           
                                       Retinal infarction                                                            1.7 (  40)           
                                       Stroke                                                                       26.7 ( 646)           
                                       TIA                                                                          39.9 ( 966)           
  AsymptSympt % (freq)                 Asymptomatic                                                                 11.1 ( 270)     0.0   
                                       Ocular and others                                                            22.3 ( 541)           
                                       Symptomatic                                                                  66.5 (1612)           
  AsymptSympt2G % (freq)               Asymptomatic                                                                 11.1 ( 270)     0.0   
                                       Symptomatic                                                                  88.9 (2153)           
  restenos % (freq)                    missing                                                                       0.0 (   0)     1.4   
                                       de novo                                                                      93.7 (2270)           
                                       restenosis                                                                    4.9 ( 118)           
                                       stenose bij angioseal na PTCA                                                 0.0 (   0)           
                                       <NA>                                                                          1.4 (  35)           
  stenose % (freq)                     missing                                                                       0.0 (   0)     2.0   
                                       0-49%                                                                         0.5 (  13)           
                                       50-70%                                                                        7.8 ( 190)           
                                       70-90%                                                                       46.5 (1127)           
                                       90-99%                                                                       38.3 ( 928)           
                                       100% (Occlusion)                                                              1.3 (  31)           
                                       NA                                                                            0.0 (   1)           
                                       50-99%                                                                        0.6 (  15)           
                                       70-99%                                                                        2.8 (  68)           
                                       99                                                                            0.1 (   2)           
                                       <NA>                                                                          2.0 (  48)           
  MedHx_CVD % (freq)                   No                                                                           36.9 ( 893)     0.0   
                                       yes                                                                          63.1 (1530)           
  CAD_history % (freq)                 Missing                                                                       0.0 (   0)     1.9   
                                       No history CAD                                                               66.9 (1620)           
                                       History CAD                                                                  31.2 ( 756)           
                                       <NA>                                                                          1.9 (  47)           
  PAOD % (freq)                        missing/no data                                                               0.0 (   0)     2.0   
                                       no                                                                           77.5 (1878)           
                                       yes                                                                          20.5 ( 497)           
                                       <NA>                                                                          2.0 (  48)           
  Peripheral.interv % (freq)           no                                                                           77.2 (1870)     2.9   
                                       yes                                                                          19.9 ( 482)           
                                       <NA>                                                                          2.9 (  71)           
  EP_composite % (freq)                No data available.                                                            0.0 (   0)     5.0   
                                       No composite endpoints                                                       70.6 (1711)           
                                       Composite endpoints                                                          24.3 ( 590)           
                                       <NA>                                                                          5.0 ( 122)           
  EP_composite_time (mean (SD))                                                                                    2.479 (1.109)    5.2   
  macmean0 (mean (SD))                                                                                             0.767 (1.183)   29.7   
  smcmean0 (mean (SD))                                                                                             1.985 (2.380)   29.9   
  Macrophages.bin % (freq)             no/minor                                                                     35.0 ( 847)    24.1   
                                       moderate/heavy                                                               40.9 ( 992)           
                                       <NA>                                                                         24.1 ( 584)           
  SMC.bin % (freq)                     no/minor                                                                     24.8 ( 602)    23.8   
                                       moderate/heavy                                                               51.3 (1244)           
                                       <NA>                                                                         23.8 ( 577)           
  neutrophils (mean (SD))                                                                                        147.151 (419.998) 87.5   
  Mast_cells_plaque (mean (SD))                                                                                  164.488 (163.771) 90.0   
  IPH.bin % (freq)                     no                                                                           30.8 ( 746)    23.5   
                                       yes                                                                          45.7 (1108)           
                                       <NA>                                                                         23.5 ( 569)           
  vessel_density_averaged (mean (SD))                                                                              8.317 (6.384)   35.1   
  Calc.bin % (freq)                    no/minor                                                                     41.6 (1007)    23.4   
                                       moderate/heavy                                                               35.1 ( 850)           
                                       <NA>                                                                         23.4 ( 566)           
  Collagen.bin % (freq)                no/minor                                                                     15.8 ( 382)    23.6   
                                       moderate/heavy                                                               60.6 (1469)           
                                       <NA>                                                                         23.6 ( 572)           
  Fat.bin_10 % (freq)                   <10%                                                                        22.4 ( 542)    23.3   
                                        >10%                                                                        54.3 (1316)           
                                       <NA>                                                                         23.3 ( 565)           
  Fat.bin_40 % (freq)                  <40%                                                                         56.2 (1362)    23.3   
                                       >40%                                                                         20.5 ( 496)           
                                       <NA>                                                                         23.3 ( 565)           
  OverallPlaquePhenotype % (freq)      atheromatous                                                                 19.8 ( 480)    23.7   
                                       fibroatheromatous                                                            27.8 ( 674)           
                                       fibrous                                                                      28.7 ( 695)           
                                       <NA>                                                                         23.7 ( 574)           
  IL6 (mean (SD))                                                                                                 98.812 (292.457) 78.2   
  IL6_pg_ug_2015 (mean (SD))                                                                                       0.138 (0.556)   52.5   
  IL6R_pg_ug_2015 (mean (SD))                                                                                      0.211 (0.251)   52.4   
  MCP1 (mean (SD))                                                                                               135.763 (120.028) 76.7   
  MCP1_pg_ug_2015 (mean (SD))                                                                                      0.612 (0.904)   50.6   
  MCP1_pg_ml_2015 (mean (SD))                                                                                    600.444 (858.416) 50.5   

CEA patients with MCP1_pg_ug_2015

Showing the baseline table of the CEA patients in the Athero-Express Biobank with MCP1_pg_ug_2015.

AEDB.CEA.subset <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015))

AEDB.CEA.subset.AsymptSympt.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:6]
                                      Stratified by AsymptSympt2G
                                       level                                                                     Asymptomatic      Symptomatic       p      test Missing
  n                                                                                                                  131              1067                              
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     50.4 ( 66)        46.5 ( 496)     0.453       0.0   
                                       UMC Utrecht                                                                  49.6 ( 65)        53.5 ( 571)                       
  ORyear % (freq)                      No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       2002                                                                         10.7 ( 14)         3.9 (  42)                       
                                       2003                                                                          7.6 ( 10)         9.4 ( 100)                       
                                       2004                                                                         17.6 ( 23)        11.5 ( 123)                       
                                       2005                                                                          9.9 ( 13)        11.2 ( 119)                       
                                       2006                                                                         10.7 ( 14)        10.2 ( 109)                       
                                       2007                                                                         11.5 ( 15)        10.5 ( 112)                       
                                       2008                                                                          7.6 ( 10)         7.4 (  79)                       
                                       2009                                                                          7.6 ( 10)         8.4 (  90)                       
                                       2010                                                                          5.3 (  7)         7.6 (  81)                       
                                       2011                                                                          6.1 (  8)         9.6 ( 102)                       
                                       2012                                                                          5.3 (  7)         8.2 (  88)                       
                                       2013                                                                          0.0 (  0)         2.0 (  21)                       
                                       2014                                                                          0.0 (  0)         0.1 (   1)                       
                                       2015                                                                          0.0 (  0)         0.0 (   0)                       
                                       2016                                                                          0.0 (  0)         0.0 (   0)                       
                                       2017                                                                          0.0 (  0)         0.0 (   0)                       
                                       2018                                                                          0.0 (  0)         0.0 (   0)                       
                                       2019                                                                          0.0 (  0)         0.0 (   0)                       
  Age (mean (SD))                                                                                                 66.237 (9.184)    68.937 (9.119)    0.001       0.0   
  Gender % (freq)                      female                                                                       23.7 ( 31)        31.4 ( 335)     0.087       0.0   
                                       male                                                                         76.3 (100)        68.6 ( 732)                       
  TC_finalCU (mean (SD))                                                                                         175.987 (47.184)  183.526 (48.426)   0.174      33.5   
  LDL_finalCU (mean (SD))                                                                                        102.781 (38.324)  109.377 (41.109)   0.183      39.6   
  HDL_finalCU (mean (SD))                                                                                         43.701 (14.754)   45.809 (18.513)   0.318      36.4   
  TG_finalCU (mean (SD))                                                                                         157.650 (89.246)  145.194 (84.818)   0.209      36.1   
  TC_final (mean (SD))                                                                                             4.558 (1.222)     4.753 (1.254)    0.174      33.5   
  LDL_final (mean (SD))                                                                                            2.662 (0.993)     2.833 (1.065)    0.183      39.6   
  HDL_final (mean (SD))                                                                                            1.132 (0.382)     1.186 (0.479)    0.318      36.4   
  TG_final (mean (SD))                                                                                             1.781 (1.008)     1.641 (0.958)    0.209      36.1   
  hsCRP_plasma (mean (SD))                                                                                         5.688 (19.440)   16.551 (113.708)  0.380      38.7   
  systolic (mean (SD))                                                                                           153.577 (24.327)  155.790 (26.176)   0.397      13.9   
  diastoli (mean (SD))                                                                                            80.622 (13.225)   82.883 (13.573)   0.097      13.9   
  GFR_MDRD (mean (SD))                                                                                            71.026 (20.424)   71.866 (20.055)   0.658       3.5   
  BMI (mean (SD))                                                                                                 26.623 (3.391)    26.320 (3.745)    0.381       4.2   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         3.6   
                                       Normal kidney function                                                       17.6 ( 23)        17.2 ( 184)                       
                                       CKD 2 (Mild)                                                                 49.6 ( 65)        53.2 ( 568)                       
                                       CKD 3 (Moderate)                                                             28.2 ( 37)        24.4 ( 260)                       
                                       CKD 4 (Severe)                                                                0.0 (  0)         1.2 (  13)                       
                                       CKD 5 (Failure)                                                               0.8 (  1)         0.4 (   4)                       
                                       <NA>                                                                          3.8 (  5)         3.6 (  38)                       
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         4.3   
                                       Underweight                                                                   0.8 (  1)         0.9 (  10)                       
                                       Normal                                                                       32.8 ( 43)        35.6 ( 380)                       
                                       Overweight                                                                   51.1 ( 67)        46.1 ( 492)                       
                                       Obese                                                                        13.0 ( 17)        12.7 ( 136)                       
                                       <NA>                                                                          2.3 (  3)         4.6 (  49)                       
  SmokerStatus % (freq)                Current smoker                                                               30.5 ( 40)        36.3 ( 387)     0.075       3.8   
                                       Ex-smoker                                                                    57.3 ( 75)        45.5 ( 486)                       
                                       Never smoked                                                                  9.9 ( 13)        14.2 ( 152)                       
                                       <NA>                                                                          2.3 (  3)         3.9 (  42)                       
  AlcoholUse % (freq)                  No                                                                           38.2 ( 50)        33.3 ( 355)     0.342       4.1   
                                       Yes                                                                          59.5 ( 78)        62.4 ( 666)                       
                                       <NA>                                                                          2.3 (  3)         4.3 (  46)                       
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 76.3 (100)        77.4 ( 826)     0.867       0.0   
                                       Diabetes                                                                     23.7 ( 31)        22.6 ( 241)                       
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         2.0   
                                       no                                                                           23.7 ( 31)        26.6 ( 284)                       
                                       yes                                                                          75.6 ( 99)        71.2 ( 760)                       
                                       <NA>                                                                          0.8 (  1)         2.2 (  23)                       
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         2.7   
                                       no                                                                           30.5 ( 40)        32.9 ( 351)                       
                                       yes                                                                          67.9 ( 89)        64.3 ( 686)                       
                                       <NA>                                                                          1.5 (  2)         2.8 (  30)                       
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       no                                                                            9.9 ( 13)        14.3 ( 153)                       
                                       yes                                                                          90.1 (118)        85.7 ( 914)                       
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.2   
                                       no                                                                           14.5 ( 19)        23.3 ( 249)                       
                                       yes                                                                          85.5 (112)        76.5 ( 816)                       
                                       <NA>                                                                          0.0 (  0)         0.2 (   2)                       
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.2   
                                       no                                                                           89.3 (117)        88.0 ( 939)                       
                                       yes                                                                          10.7 ( 14)        11.8 ( 126)                       
                                       <NA>                                                                          0.0 (  0)         0.2 (   2)                       
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.4   
                                       no                                                                            6.1 (  8)        11.0 ( 117)                       
                                       yes                                                                          93.1 (122)        88.7 ( 946)                       
                                       <NA>                                                                          0.8 (  1)         0.4 (   4)                       
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.2   
                                       no                                                                           15.3 ( 20)        22.7 ( 242)                       
                                       yes                                                                          84.7 (111)        77.1 ( 823)                       
                                       <NA>                                                                          0.0 (  0)         0.2 (   2)                       
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (  0)         0.0 (   0)     NaN         5.3   
                                       No stroke diagnosed                                                          80.2 (105)        75.2 ( 802)                       
                                       Stroke diagnosed                                                             14.5 ( 19)        19.5 ( 208)                       
                                       <NA>                                                                          5.3 (  7)         5.3 (  57)                       
  sympt % (freq)                       missing                                                                       0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       Asymptomatic                                                                100.0 (131)         0.0 (   0)                       
                                       TIA                                                                           0.0 (  0)        46.3 ( 494)                       
                                       minor stroke                                                                  0.0 (  0)        16.7 ( 178)                       
                                       Major stroke                                                                  0.0 (  0)        12.3 ( 131)                       
                                       Amaurosis fugax                                                               0.0 (  0)        17.2 ( 184)                       
                                       Four vessel disease                                                           0.0 (  0)         2.2 (  23)                       
                                       Vertebrobasilary TIA                                                          0.0 (  0)         0.2 (   2)                       
                                       Retinal infarction                                                            0.0 (  0)         1.4 (  15)                       
                                       Symptomatic, but aspecific symtoms                                            0.0 (  0)         2.7 (  29)                       
                                       Contralateral symptomatic occlusion                                           0.0 (  0)         0.6 (   6)                       
                                       retinal infarction                                                            0.0 (  0)         0.3 (   3)                       
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (  0)         0.1 (   1)                       
                                       retinal infarction + TIAs                                                     0.0 (  0)         0.0 (   0)                       
                                       Ocular ischemic syndrome                                                      0.0 (  0)         0.1 (   1)                       
                                       ischemisch glaucoom                                                           0.0 (  0)         0.0 (   0)                       
                                       subclavian steal syndrome                                                     0.0 (  0)         0.0 (   0)                       
                                       TGA                                                                           0.0 (  0)         0.0 (   0)                       
  Symptoms.5G % (freq)                 Asymptomatic                                                                100.0 (131)         0.0 (   0)    <0.001       0.0   
                                       Ocular                                                                        0.0 (  0)        17.3 ( 185)                       
                                       Other                                                                         0.0 (  0)         5.5 (  59)                       
                                       Retinal infarction                                                            0.0 (  0)         1.7 (  18)                       
                                       Stroke                                                                        0.0 (  0)        29.0 ( 309)                       
                                       TIA                                                                           0.0 (  0)        46.5 ( 496)                       
  AsymptSympt % (freq)                 Asymptomatic                                                                100.0 (131)         0.0 (   0)    <0.001       0.0   
                                       Ocular and others                                                             0.0 (  0)        24.6 ( 262)                       
                                       Symptomatic                                                                   0.0 (  0)        75.4 ( 805)                       
  AsymptSympt2G % (freq)               Asymptomatic                                                                100.0 (131)         0.0 (   0)    <0.001       0.0   
                                       Symptomatic                                                                   0.0 (  0)       100.0 (1067)                       
  restenos % (freq)                    missing                                                                       0.0 (  0)         0.0 (   0)     NaN         2.3   
                                       de novo                                                                      93.9 (123)        94.8 (1011)                       
                                       restenosis                                                                    2.3 (  3)         3.2 (  34)                       
                                       stenose bij angioseal na PTCA                                                 0.0 (  0)         0.0 (   0)                       
                                       <NA>                                                                          3.8 (  5)         2.1 (  22)                       
  stenose % (freq)                     missing                                                                       0.0 (  0)         0.0 (   0)     NaN         3.2   
                                       0-49%                                                                         0.0 (  0)         0.6 (   6)                       
                                       50-70%                                                                        3.1 (  4)         6.5 (  69)                       
                                       70-90%                                                                       51.1 ( 67)        44.5 ( 475)                       
                                       90-99%                                                                       41.2 ( 54)        42.7 ( 456)                       
                                       100% (Occlusion)                                                              0.0 (  0)         0.9 (  10)                       
                                       NA                                                                            0.0 (  0)         0.0 (   0)                       
                                       50-99%                                                                        0.8 (  1)         0.4 (   4)                       
                                       70-99%                                                                        0.0 (  0)         1.3 (  14)                       
                                       99                                                                            0.0 (  0)         0.0 (   0)                       
                                       <NA>                                                                          3.8 (  5)         3.1 (  33)                       
  MedHx_CVD % (freq)                   No                                                                           38.9 ( 51)        36.9 ( 394)     0.724       0.0   
                                       yes                                                                          61.1 ( 80)        63.1 ( 673)                       
  CAD_history % (freq)                 Missing                                                                       0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       No history CAD                                                               61.8 ( 81)        69.9 ( 746)                       
                                       History CAD                                                                  38.2 ( 50)        30.1 ( 321)                       
  PAOD % (freq)                        missing/no data                                                               0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       no                                                                           74.0 ( 97)        79.6 ( 849)                       
                                       yes                                                                          26.0 ( 34)        20.4 ( 218)                       
  Peripheral.interv % (freq)           no                                                                           74.0 ( 97)        82.6 ( 881)     0.041       0.3   
                                       yes                                                                          26.0 ( 34)        17.2 ( 183)                       
                                       <NA>                                                                          0.0 (  0)         0.3 (   3)                       
  EP_composite % (freq)                No data available.                                                            0.0 (  0)         0.0 (   0)     NaN         0.8   
                                       No composite endpoints                                                       67.2 ( 88)        74.3 ( 793)                       
                                       Composite endpoints                                                          32.8 ( 43)        24.8 ( 265)                       
                                       <NA>                                                                          0.0 (  0)         0.8 (   9)                       
  EP_composite_time (mean (SD))                                                                                    2.614 (0.931)     2.614 (1.094)    0.998       0.9   
  macmean0 (mean (SD))                                                                                             0.837 (1.088)     0.780 (1.230)    0.618       2.3   
  smcmean0 (mean (SD))                                                                                             2.152 (1.861)     1.905 (2.221)    0.225       2.7   
  Macrophages.bin % (freq)             no/minor                                                                     48.9 ( 64)        47.4 ( 506)     0.584       1.9   
                                       moderate/heavy                                                               50.4 ( 66)        50.5 ( 539)                       
                                       <NA>                                                                          0.8 (  1)         2.1 (  22)                       
  SMC.bin % (freq)                     no/minor                                                                     22.9 ( 30)        32.1 ( 343)     0.087       1.8   
                                       moderate/heavy                                                               75.6 ( 99)        66.0 ( 704)                       
                                       <NA>                                                                          1.5 (  2)         1.9 (  20)                       
  neutrophils (mean (SD))                                                                                        157.643 (507.380) 172.872 (477.038)  0.876      82.0   
  Mast_cells_plaque (mean (SD))                                                                                  111.400 (112.037) 183.284 (180.156)  0.056      86.1   
  IPH.bin % (freq)                     no                                                                           41.2 ( 54)        38.1 ( 406)     0.571       1.7   
                                       yes                                                                          58.0 ( 76)        60.2 ( 642)                       
                                       <NA>                                                                          0.8 (  1)         1.8 (  19)                       
  vessel_density_averaged (mean (SD))                                                                              8.608 (6.547)     8.406 (6.463)    0.748       8.7   
 [ reached getOption("max.print") -- omitted 22 rows ]

CEA patients with MCP1_pg_ug_2015 and MCP1

Showing the baseline table of the CEA patients in the Athero-Express Biobank with MCP1_pg_ug_2015 and MCP1.


AEDB.CEA.subset.combo <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015) | !is.na(MCP1))

AEDB.CEA.subset.combo.tableOne = print(CreateTableOne(vars = basetable_vars,
                                         # factorVars = basetable_bin,
                                         strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset.combo, includeNA = TRUE),
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
                          format = "pf",
                          contDigits = 3)[,1:6]
                                      Stratified by AsymptSympt2G
                                       level                                                                     Asymptomatic      Symptomatic       p      test Missing
  n                                                                                                                  161              1167                              
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     52.2 ( 84)        46.9 ( 547)     0.239       0.0   
                                       UMC Utrecht                                                                  47.8 ( 77)        53.1 ( 620)                       
  ORyear % (freq)                      No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       2002                                                                         10.6 ( 17)         4.8 (  56)                       
                                       2003                                                                         11.8 ( 19)        10.6 ( 124)                       
                                       2004                                                                         19.9 ( 32)        12.2 ( 142)                       
                                       2005                                                                         13.7 ( 22)        13.3 ( 155)                       
                                       2006                                                                          8.7 ( 14)         9.9 ( 116)                       
                                       2007                                                                          9.3 ( 15)         9.6 ( 112)                       
                                       2008                                                                          6.2 ( 10)         6.8 (  79)                       
                                       2009                                                                          6.2 ( 10)         7.7 (  90)                       
                                       2010                                                                          4.3 (  7)         6.9 (  81)                       
                                       2011                                                                          5.0 (  8)         8.7 ( 102)                       
                                       2012                                                                          4.3 (  7)         7.5 (  88)                       
                                       2013                                                                          0.0 (  0)         1.8 (  21)                       
                                       2014                                                                          0.0 (  0)         0.1 (   1)                       
                                       2015                                                                          0.0 (  0)         0.0 (   0)                       
                                       2016                                                                          0.0 (  0)         0.0 (   0)                       
                                       2017                                                                          0.0 (  0)         0.0 (   0)                       
                                       2018                                                                          0.0 (  0)         0.0 (   0)                       
                                       2019                                                                          0.0 (  0)         0.0 (   0)                       
  Age (mean (SD))                                                                                                 65.901 (9.051)    68.785 (9.081)   <0.001       0.0   
  Gender % (freq)                      female                                                                       23.0 ( 37)        30.4 ( 355)     0.065       0.0   
                                       male                                                                         77.0 (124)        69.6 ( 812)                       
  TC_finalCU (mean (SD))                                                                                         179.199 (45.274)  184.078 (48.333)   0.322      32.8   
  LDL_finalCU (mean (SD))                                                                                        104.132 (37.590)  109.761 (41.318)   0.206      39.8   
  HDL_finalCU (mean (SD))                                                                                         44.749 (14.890)   45.803 (18.219)   0.570      36.1   
  TG_finalCU (mean (SD))                                                                                         158.699 (87.584)  145.901 (83.176)   0.141      35.6   
  TC_final (mean (SD))                                                                                             4.641 (1.173)     4.768 (1.252)    0.322      32.8   
  LDL_final (mean (SD))                                                                                            2.697 (0.974)     2.843 (1.070)    0.206      39.8   
  HDL_final (mean (SD))                                                                                            1.159 (0.386)     1.186 (0.472)    0.570      36.1   
  TG_final (mean (SD))                                                                                             1.793 (0.990)     1.649 (0.940)    0.141      35.6   
  hsCRP_plasma (mean (SD))                                                                                         6.846 (21.838)   16.179 (110.739)  0.394      40.6   
  systolic (mean (SD))                                                                                           152.838 (24.600)  155.713 (26.406)   0.230      13.5   
  diastoli (mean (SD))                                                                                            80.824 (12.855)   82.863 (13.542)   0.097      13.5   
  GFR_MDRD (mean (SD))                                                                                            70.440 (19.793)   71.890 (20.127)   0.400       3.5   
  BMI (mean (SD))                                                                                                 26.626 (3.572)    26.350 (3.765)    0.387       4.4   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         3.5   
                                       Normal kidney function                                                       14.9 ( 24)        17.4 ( 203)                       
                                       CKD 2 (Mild)                                                                 50.9 ( 82)        53.4 ( 623)                       
                                       CKD 3 (Moderate)                                                             29.8 ( 48)        24.0 ( 280)                       
                                       CKD 4 (Severe)                                                                0.0 (  0)         1.3 (  15)                       
                                       CKD 5 (Failure)                                                               0.6 (  1)         0.4 (   5)                       
                                       <NA>                                                                          3.7 (  6)         3.5 (  41)                       
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         4.6   
                                       Underweight                                                                   1.2 (  2)         0.9 (  11)                       
                                       Normal                                                                       32.3 ( 52)        35.6 ( 415)                       
                                       Overweight                                                                   49.7 ( 80)        45.6 ( 532)                       
                                       Obese                                                                        13.7 ( 22)        13.1 ( 153)                       
                                       <NA>                                                                          3.1 (  5)         4.8 (  56)                       
  SmokerStatus % (freq)                Current smoker                                                               29.2 ( 47)        36.1 ( 421)     0.069       4.0   
                                       Ex-smoker                                                                    56.5 ( 91)        45.6 ( 532)                       
                                       Never smoked                                                                 11.8 ( 19)        14.1 ( 165)                       
                                       <NA>                                                                          2.5 (  4)         4.2 (  49)                       
  AlcoholUse % (freq)                  No                                                                           38.5 ( 62)        33.6 ( 392)     0.210       3.9   
                                       Yes                                                                          59.6 ( 96)        62.2 ( 726)                       
                                       <NA>                                                                          1.9 (  3)         4.2 (  49)                       
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 78.3 (126)        77.3 ( 902)     0.861       0.0   
                                       Diabetes                                                                     21.7 ( 35)        22.7 ( 265)                       
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         1.9   
                                       no                                                                           25.5 ( 41)        26.6 ( 310)                       
                                       yes                                                                          73.9 (119)        71.4 ( 833)                       
                                       <NA>                                                                          0.6 (  1)         2.1 (  24)                       
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         2.4   
                                       no                                                                           32.3 ( 52)        32.9 ( 384)                       
                                       yes                                                                          66.5 (107)        64.5 ( 753)                       
                                       <NA>                                                                          1.2 (  2)         2.6 (  30)                       
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       no                                                                           11.2 ( 18)        14.1 ( 165)                       
                                       yes                                                                          88.8 (143)        85.9 (1002)                       
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.2   
                                       no                                                                           15.5 ( 25)        22.8 ( 266)                       
                                       yes                                                                          83.9 (135)        77.0 ( 899)                       
                                       <NA>                                                                          0.6 (  1)         0.2 (   2)                       
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.2   
                                       no                                                                           89.4 (144)        88.0 (1027)                       
                                       yes                                                                           9.9 ( 16)        11.8 ( 138)                       
                                       <NA>                                                                          0.6 (  1)         0.2 (   2)                       
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.5   
                                       no                                                                            6.2 ( 10)        10.8 ( 126)                       
                                       yes                                                                          92.5 (149)        88.9 (1037)                       
                                       <NA>                                                                          1.2 (  2)         0.3 (   4)                       
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (  0)         0.0 (   0)     NaN         0.2   
                                       no                                                                           17.4 ( 28)        23.1 ( 270)                       
                                       yes                                                                          82.0 (132)        76.7 ( 895)                       
                                       <NA>                                                                          0.6 (  1)         0.2 (   2)                       
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (  0)         0.0 (   0)     NaN         5.5   
                                       No stroke diagnosed                                                          80.1 (129)        75.5 ( 881)                       
                                       Stroke diagnosed                                                             13.7 ( 22)        19.1 ( 223)                       
                                       <NA>                                                                          6.2 ( 10)         5.4 (  63)                       
  sympt % (freq)                       missing                                                                       0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       Asymptomatic                                                                100.0 (161)         0.0 (   0)                       
                                       TIA                                                                           0.0 (  0)        46.5 ( 543)                       
                                       minor stroke                                                                  0.0 (  0)        17.1 ( 200)                       
                                       Major stroke                                                                  0.0 (  0)        11.7 ( 136)                       
                                       Amaurosis fugax                                                               0.0 (  0)        17.0 ( 198)                       
                                       Four vessel disease                                                           0.0 (  0)         2.1 (  25)                       
                                       Vertebrobasilary TIA                                                          0.0 (  0)         0.2 (   2)                       
                                       Retinal infarction                                                            0.0 (  0)         1.4 (  16)                       
                                       Symptomatic, but aspecific symtoms                                            0.0 (  0)         3.1 (  36)                       
                                       Contralateral symptomatic occlusion                                           0.0 (  0)         0.5 (   6)                       
                                       retinal infarction                                                            0.0 (  0)         0.3 (   3)                       
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (  0)         0.1 (   1)                       
                                       retinal infarction + TIAs                                                     0.0 (  0)         0.0 (   0)                       
                                       Ocular ischemic syndrome                                                      0.0 (  0)         0.1 (   1)                       
                                       ischemisch glaucoom                                                           0.0 (  0)         0.0 (   0)                       
                                       subclavian steal syndrome                                                     0.0 (  0)         0.0 (   0)                       
                                       TGA                                                                           0.0 (  0)         0.0 (   0)                       
  Symptoms.5G % (freq)                 Asymptomatic                                                                100.0 (161)         0.0 (   0)    <0.001       0.0   
                                       Ocular                                                                        0.0 (  0)        17.1 ( 199)                       
                                       Other                                                                         0.0 (  0)         5.8 (  68)                       
                                       Retinal infarction                                                            0.0 (  0)         1.6 (  19)                       
                                       Stroke                                                                        0.0 (  0)        28.8 ( 336)                       
                                       TIA                                                                           0.0 (  0)        46.7 ( 545)                       
  AsymptSympt % (freq)                 Asymptomatic                                                                100.0 (161)         0.0 (   0)    <0.001       0.0   
                                       Ocular and others                                                             0.0 (  0)        24.5 ( 286)                       
                                       Symptomatic                                                                   0.0 (  0)        75.5 ( 881)                       
  AsymptSympt2G % (freq)               Asymptomatic                                                                100.0 (161)         0.0 (   0)    <0.001       0.0   
                                       Symptomatic                                                                   0.0 (  0)       100.0 (1167)                       
  restenos % (freq)                    missing                                                                       0.0 (  0)         0.0 (   0)     NaN         2.0   
                                       de novo                                                                      93.2 (150)        95.0 (1109)                       
                                       restenosis                                                                    3.7 (  6)         3.1 (  36)                       
                                       stenose bij angioseal na PTCA                                                 0.0 (  0)         0.0 (   0)                       
                                       <NA>                                                                          3.1 (  5)         1.9 (  22)                       
  stenose % (freq)                     missing                                                                       0.0 (  0)         0.0 (   0)     NaN         2.9   
                                       0-49%                                                                         0.0 (  0)         0.6 (   7)                       
                                       50-70%                                                                        2.5 (  4)         6.3 (  73)                       
                                       70-90%                                                                       50.9 ( 82)        44.6 ( 520)                       
                                       90-99%                                                                       42.9 ( 69)        43.3 ( 505)                       
                                       100% (Occlusion)                                                              0.0 (  0)         0.9 (  11)                       
                                       NA                                                                            0.0 (  0)         0.0 (   0)                       
                                       50-99%                                                                        0.6 (  1)         0.3 (   4)                       
                                       70-99%                                                                        0.0 (  0)         1.2 (  14)                       
                                       99                                                                            0.0 (  0)         0.0 (   0)                       
                                       <NA>                                                                          3.1 (  5)         2.8 (  33)                       
  MedHx_CVD % (freq)                   No                                                                           37.3 ( 60)        36.8 ( 429)     0.970       0.0   
                                       yes                                                                          62.7 (101)        63.2 ( 738)                       
  CAD_history % (freq)                 Missing                                                                       0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       No history CAD                                                               59.0 ( 95)        69.2 ( 807)                       
                                       History CAD                                                                  41.0 ( 66)        30.8 ( 360)                       
  PAOD % (freq)                        missing/no data                                                               0.0 (  0)         0.0 (   0)     NaN         0.0   
                                       no                                                                           73.9 (119)        79.9 ( 932)                       
                                       yes                                                                          26.1 ( 42)        20.1 ( 235)                       
  Peripheral.interv % (freq)           no                                                                           72.7 (117)        83.0 ( 969)     0.004       0.2   
                                       yes                                                                          27.3 ( 44)        16.7 ( 195)                       
                                       <NA>                                                                          0.0 (  0)         0.3 (   3)                       
  EP_composite % (freq)                No data available.                                                            0.0 (  0)         0.0 (   0)     NaN         0.8   
                                       No composite endpoints                                                       68.3 (110)        73.9 ( 862)                       
                                       Composite endpoints                                                          31.7 ( 51)        25.2 ( 294)                       
                                       <NA>                                                                          0.0 (  0)         0.9 (  11)                       
  EP_composite_time (mean (SD))                                                                                    2.579 (0.961)     2.612 (1.129)    0.729       1.0   
  macmean0 (mean (SD))                                                                                             0.802 (1.072)     0.821 (1.275)    0.862       2.2   
  smcmean0 (mean (SD))                                                                                             2.445 (2.594)     1.924 (2.233)    0.007       2.5   
  Macrophages.bin % (freq)             no/minor                                                                     50.3 ( 81)        45.8 ( 534)     0.311       1.8   
                                       moderate/heavy                                                               49.1 ( 79)        52.3 ( 610)                       
                                       <NA>                                                                          0.6 (  1)         2.0 (  23)                       
  SMC.bin % (freq)                     no/minor                                                                     21.7 ( 35)        32.5 ( 379)     0.018       1.7   
                                       moderate/heavy                                                               77.0 (124)        65.8 ( 768)                       
                                       <NA>                                                                          1.2 (  2)         1.7 (  20)                       
  neutrophils (mean (SD))                                                                                        133.447 (437.032) 158.140 (448.512)  0.754      80.9   
  Mast_cells_plaque (mean (SD))                                                                                  123.389 (135.924) 173.244 (168.601)  0.097      83.7   
  IPH.bin % (freq)                     no                                                                           39.1 ( 63)        36.4 ( 425)     0.521       1.5   
                                       yes                                                                          60.2 ( 97)        62.0 ( 723)                       
                                       <NA>                                                                          0.6 (  1)         1.6 (  19)                       
  vessel_density_averaged (mean (SD))                                                                              8.837 (6.727)     8.438 (6.388)    0.478       8.0   
 [ reached getOption("max.print") -- omitted 22 rows ]

CEA patients with plasma MCP1 levels

Showing the baseline table of the CEA patients in the Athero-Express Biobank with plasma MCP1 levels.

NOT AVAILABLE YET

AEDB.CEA.subset.plasma <- subset(AEDB.CEA, !is.na(MCP1_plasma))

AEDB.CEA.subset.plasma.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset.plasma, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:6]

CEA patients with plasma and plaque MCP1 levels

Showing the baseline table of the CEA patients in the Athero-Express Biobank with both plasma and plaque MCP1 levels.

NOT AVAILABLE YET

AEDB.CEA.subset.both <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015) & !is.na(MCP1))

AEDB.CEA.subset.both.tableOne = print(CreateTableOne(vars = basetable_vars,
                                         # factorVars = basetable_bin,
                                         strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset.both, includeNA = TRUE),
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
                          format = "pf",
                          contDigits = 3)[,1:6]

Writing the baseline table to Excel format.

# Write basetable
require(openxlsx)

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.wholeCEA.xlsx"),
           AEDB.CEA.tableOne, 
           row.names = TRUE, 
           col.names = TRUE, 
           sheetName = "wholeAEDB_Baseline")

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.wholeCEA.AsymptSympt.xlsx"),
           AEDB.CEA.subset.AsymptSympt.tableOne, 
           row.names = TRUE, 
           col.names = TRUE, 
           sheetName = "wholeAEDB_Baseline_Sympt")

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.subsetCEA.xlsx"),
           AEDB.CEA.subset.combo.tableOne,
           row.names = TRUE,
           col.names = TRUE,
           sheetName = "subsetAEDB_Baseline")

# write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.subsetCEAplasma.AsymptSympt.xlsx"),
#            AEDB.CEA.subset.plasma.tableOne, 
#            row.names = TRUE, 
#            col.names = TRUE, 
#            sheetName = "subsetAEDB_Baseline_plasma_Sympt")

Data exploration

Here we inspect the data and when necessary transform quantitative measures. We will inspect the raw, natural log transformed + the smallest measurement, and inverse-normal transformation.

MCP1 plaque levels: experiment 2

We will explore the plaque levels. As noted above, we will use MCP1_pg_ug_2015, this was experiment 2 in 2015 on the LUMINEX-platform and measurements were corrected for total plaque protein content.


summary(AEDB.CEA$MCP1_pg_ug_2015)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0005  0.1374  0.3407  0.6123  0.7235 10.8540    1225 
do.call(rbind , by(AEDB.CEA$MCP1_pg_ug_2015, AEDB.CEA$AsymptSympt2G, summary))
                     Min.    1st Qu.    Median      Mean   3rd Qu.      Max. NA's
Asymptomatic 0.0061401090 0.09779678 0.2148984 0.4950529 0.4982360  5.761795  139
Symptomatic  0.0004584575 0.14499491 0.3510850 0.6266503 0.7427464 10.853968 1086
summary(AEDB.CEA$MCP1_pg_ml_2015)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
    0.66   101.34   298.76   600.44   770.98 10181.08     1224 
do.call(rbind , by(AEDB.CEA$MCP1_pg_ml_2015, AEDB.CEA$AsymptSympt2G, summary))
             Min.  1st Qu.  Median     Mean  3rd Qu.     Max. NA's
Asymptomatic 9.36  71.1650 152.220 405.1822 537.9100  2669.59  139
Symptomatic  0.66 114.9425 314.625 624.3948 792.4225 10181.08 1085
library(patchwork)
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "pg/ug", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1_pg_ug_2015 <- min(AEDB.CEA$MCP1_pg_ug_2015, na.rm = TRUE)
min_MCP1_pg_ug_2015
[1] 0.0004584575
AEDB.CEA$MCP1_pg_ug_2015_LN <- log(AEDB.CEA$MCP1_pg_ug_2015 + min_MCP1_pg_ug_2015)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    # title = "MCP1 plaque levels",
                    xlab = "natural log-transformed pg/ug", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_pg_ug_2015_rank <- qnorm((rank(AEDB.CEA$MCP1_pg_ug_2015, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_pg_ug_2015)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plaque levels",
                    xlab = "inverse-normal transformation pg/ug",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

We will explore the MCP1_pg_ml_2015 levels and compare to the protein content corrected ones.

library(patchwork)
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "pg/mL", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1_pg_ml_2015 <- min(AEDB.CEA$MCP1_pg_ml_2015, na.rm = TRUE)
min_MCP1_pg_ml_2015
[1] 0.66
AEDB.CEA$MCP1_pg_ml_2015_LN <- log(AEDB.CEA$MCP1_pg_ml_2015 + min_MCP1_pg_ml_2015)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    # title = "MCP1 plaque levels",
                    xlab = "natural log-transformed pg/mL", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_pg_ml_2015_rank <- qnorm((rank(AEDB.CEA$MCP1_pg_ml_2015, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_pg_ml_2015)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plaque levels",
                    xlab = "inverse-normal transformation pg/mL",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

MCP1 plaque levels: experiment 1

We will explore the plaque levels. As noted above, we will use MCP1, this was experiment 1 on the LUMINEX-platform and measurements were corrected for total plaque protein content.


# summary(AEDB.CEA$MCP1)
# 
# do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
# 
# attach(AEDB.CEA)
AEDB.CEA$MCP1[MCP1 == 0] <- NA
# detach(AEDB.CEA)

summary(AEDB.CEA$MCP1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  3.865  58.057 103.811 137.960 180.297 926.273    1867 
do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
                  Min.  1st Qu.    Median     Mean  3rd Qu.     Max. NA's
Asymptomatic 15.578813 45.31926  77.84731 119.4878 126.1851 846.5306  184
Symptomatic   3.864774 60.54905 111.87004 141.3406 186.4375 926.2729 1683
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "pg/mL", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1 <- min(AEDB.CEA$MCP1, na.rm = TRUE)
min_MCP1
[1] 3.864774
AEDB.CEA$MCP1_LN <- log(AEDB.CEA$MCP1 + min_MCP1)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "natural log-transformed pg/ug", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_rank <- qnorm((rank(AEDB.CEA$MCP1, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plaque levels",
                    xlab = "inverse-normal transformation pg/ug",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

Correlations between MCP1 plaque levels and transformations

Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).

p1 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_rank", 
                        y = "MCP1_pg_ml_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "experiment 1",
                        ylab = "experiment 2",
                        title = "MCP1 plaque levels, INT, [pg/mL]",
                        ggtheme = theme_minimal())

p1 


p2 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_rank", 
                        y = "MCP1_pg_ug_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "experiment 1",
                        ylab = "experiment 2",
                        title = "MCP1 plaque levels, INT, [pg/mL]/[pg/ug]",
                        ggtheme = theme_minimal())

p2 


p3 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_pg_ml_2015_rank", 
                        y = "MCP1_pg_ug_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "experiment 2, [pg/mL]",
                        ylab = "experiment 2, [pg/ug]",
                        title = "MCP1 plaque levels, INT",
                        ggtheme = theme_minimal())

p3

MCP1 plasma levels

NOT AVAILABLE YET

Preliminary conclusion data exploration

In line with the previous work by Marios Georgakis we will apply natural log transformation on all proteins and focus the analysis on MCP1 in plasma and plaque.

Analyses

The analyses are focused on three elements:

  1. plaque vulnerability phenotypes
  2. clinical status at inclusion (symptoms)
  3. secondary clinical outcome during three (3) years of follow-up

Covariates & other variables

  1. Age (continuous in 1-year increment). [Age]
  2. Sex (male vs. female). [Gender]
  3. Presence of hypertension at baseline (defined either as history of hypertension, SBP ≥140 mm Hg, DBP ≥90 mm Hg, or prescription of antihypertensive medications). [Hypertension.composite]
  4. Presence of diabetes mellitus at baseline (defined either as a history of diabetes and/or administration of glucose lowering medication). [DiabetesStatus]
  5. Smoking (current, ex-, never). [SmokerStatus]
  6. LDL-C levels (continuous). [LDL_final]
  7. Use of lipid-lowering drugs. [Med.Statin.LLD]
  8. Use of antiplatelet drugs. [Med.all.antiplatelet]
  9. eGFR (continuous). [GFR_MDRD]
  10. BMI (continuous). [BMI]
  11. History of cardiovascular disease (stroke, coronary artery disease, peripheral artery disease). [MedHx_CVD] combination of [CAD_history, Stroke_history, Peripheral.interv]
  12. Level of stenosis (50-70% vs. 70-99%). [stenose]
  13. Year of surgery [ORdate_year] as we discovered in Van Lammeren et al. the composition of the plaque and therefore the Athero-Express Biobank Study has changed over the years. Likely through changes in lifestyle and primary prevention regimes.

Models

We will analyze the data through four different models

  • Model 1: adjusted for age, sex, and year of surgery
  • Model 2: adjusted for age, sex, year of surgery, and additionally adjusted for history hypertension (defined from medical history and/or use of antihypertensive medications), diabetes (defined as history of a diagnosis and/or use of glucose-lowering medications), current smoking, LDL-C levels at time of operation, use of statins, use of antiplatelet agents, eGFR, BMI, history of cardiovascular disease (coronary artery disease, stroke, peripheral artery disease), and level of stenosis (50-70%, 70-90%, 90-99%)

A. Cross-sectional analysis plaque phenotypes

In the cross-sectional analysis of plaque and plasma MCP1, IL6, and IL6R levels we will focus on the following plaque vulnerability phenotypes:

  • Percentage of macrophages (continuous trait)
  • Percentage of SMCs (continuous trait)
  • Number of intraplaque microvessels per 3-4 hotspots (continuous trait)
  • Presence of moderate/heavy calcifications (binary trait)
  • Presence of moderate/heavy collagen content (binary trait)
  • Presence of lipid core no/<10% vs. >10% (binary trait)
  • Presence of intraplaque hemorrhage (binary trait)

Continous traits


# macrophages
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$macmean0)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0000  0.0733  0.3133  0.7671  0.9967 15.1000     720 
min_macmean <- min(AEDB.CEA$macmean0, na.rm = TRUE)
cat(paste0("\nMinimum value % macrophages: ",min_macmean,".\n"))

Minimum value % macrophages: 0.
AEDB.CEA$Macrophages_LN <- log(AEDB.CEA$macmean0 + min_macmean)

ggpubr::gghistogram(AEDB.CEA, "Macrophages_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% macrophages",
                    xlab = "natural log-transformed %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

AEDB.CEA$Macrophages_rank <- qnorm((rank(AEDB.CEA$macmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$macmean0)))
ggpubr::gghistogram(AEDB.CEA, "Macrophages_rank", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% macrophages",
                    xlab = "inverse-rank normalized %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

# smooth muscle cells
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$macmean0)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0000  0.0733  0.3133  0.7671  0.9967 15.1000     720 
min_smcmean <- min(AEDB.CEA$smcmean0, na.rm = TRUE)
cat(paste0("\nMinimum value % smooth muscle cells: ",min_smcmean,".\n"))

Minimum value % smooth muscle cells: 0.
AEDB.CEA$SMC_LN <- log(AEDB.CEA$smcmean0 + min_smcmean)

ggpubr::gghistogram(AEDB.CEA, "SMC_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% smooth muscle cells",
                    xlab = "natural log-transformed %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

AEDB.CEA$SMC_rank <- qnorm((rank(AEDB.CEA$smcmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$smcmean0)))
ggpubr::gghistogram(AEDB.CEA, "SMC_rank", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% smooth muscle cells",
                    xlab = "inverse-rank normalized %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

# vessel density
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$vessel_density_averaged)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   4.000   7.000   8.318  11.300  48.000     850 
min_vesseldensity <- min(AEDB.CEA$vessel_density_averaged, na.rm = TRUE)
min_vesseldensity
[1] 0
cat(paste0("\nMinimum value number of intraplaque neovessels per 3-4 hotspots: ",min_vesseldensity,".\n"))

Minimum value number of intraplaque neovessels per 3-4 hotspots: 0.
AEDB.CEA$VesselDensity_LN <- log(AEDB.CEA$vessel_density_averaged + min_vesseldensity)

ggpubr::gghistogram(AEDB.CEA, "VesselDensity_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "number of intraplaque neovessels per 3-4 hotspots",
                    xlab = "natural log-transformed number", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

AEDB.CEA$VesselDensity_rank <- qnorm((rank(AEDB.CEA$vessel_density_averaged, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$vessel_density_averaged)))
ggpubr::gghistogram(AEDB.CEA, "VesselDensity_rank", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "number of intraplaque neovessels per 3-4 hotspots",
                   xlab = "inverse-rank normalized number", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

Binary traits


# calcification
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Calc.bin)
      no/minor moderate/heavy           NA's 
          1007            850            566 
contrasts(AEDB.CEA$Calc.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$CalcificationPlaque <- as.factor(AEDB.CEA$Calc.bin)

df <- AEDB.CEA %>%
  filter(!is.na(CalcificationPlaque)) %>%
  group_by(Gender, CalcificationPlaque) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "CalcificationPlaque", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Calcification",
                    xlab = "calcification", 
                    ggtheme = theme_minimal())

rm(df)

# collagen
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Collagen.bin)
      no/minor moderate/heavy           NA's 
           382           1469            572 
contrasts(AEDB.CEA$Collagen.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$CollagenPlaque <- as.factor(AEDB.CEA$Collagen.bin)

df <- AEDB.CEA %>%
  filter(!is.na(CollagenPlaque)) %>%
  group_by(Gender, CollagenPlaque) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "CollagenPlaque", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Collagen",
                    xlab = "collagen", 
                    ggtheme = theme_minimal())

rm(df)

# fat 10%
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Fat.bin_10)
 <10%  >10%  NA's 
  542  1316   565 
contrasts(AEDB.CEA$Fat.bin_10)
       >10%
 <10%     0
 >10%     1
AEDB.CEA$Fat10Perc <- as.factor(AEDB.CEA$Fat.bin_10)

df <- AEDB.CEA %>%
  filter(!is.na(Fat10Perc)) %>%
  group_by(Gender, Fat10Perc) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "Fat10Perc", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Intraplaque fat",
                    xlab = "intraplaque fat", 
                    ggtheme = theme_minimal())

rm(df)

# macrophages binned
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Macrophages.bin)
      no/minor moderate/heavy           NA's 
           847            992            584 
contrasts(AEDB.CEA$Macrophages.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$MAC_binned <- as.factor(AEDB.CEA$Macrophages.bin)

df <- AEDB.CEA %>%
  filter(!is.na(MAC_binned)) %>%
  group_by(Gender, MAC_binned) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "MAC_binned", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Macrophages (binned)",
                    xlab = "Macrophages", 
                    ggtheme = theme_minimal())

rm(df)

# macrophages grouped
cat("Summary of data.\n")
Summary of data.
AEDB.CEA$macrophages <- as.factor(AEDB.CEA$macrophages)
summary(AEDB.CEA$macrophages)
-888    0    1    2    3 NA's 
   6  173  674  786  206  578 
contrasts(AEDB.CEA$macrophages)
     0 1 2 3
-888 0 0 0 0
0    1 0 0 0
1    0 1 0 0
2    0 0 1 0
3    0 0 0 1
AEDB.CEA$MAC_grouped <- as.factor(AEDB.CEA$macrophages)

df <- AEDB.CEA %>%
  filter(!is.na(MAC_grouped)) %>%
  group_by(Gender, MAC_grouped) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "MAC_grouped", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Macrophages (grouped)",
                    xlab = "Macrophages", 
                    ggtheme = theme_minimal())

rm(df)

# SMC binned
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$SMC.bin)
      no/minor moderate/heavy           NA's 
           602           1244            577 
contrasts(AEDB.CEA$SMC.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$SMC_binned <- as.factor(AEDB.CEA$SMC.bin)

df <- AEDB.CEA %>%
  filter(!is.na(SMC_binned)) %>%
  group_by(Gender, SMC_binned) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "SMC_binned", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "SMC (binned)",
                    xlab = "SMC", 
                    ggtheme = theme_minimal())

rm(df)

# SMC grouped
cat("Summary of data.\n")
Summary of data.
AEDB.CEA$smc <- as.factor(AEDB.CEA$smc)
summary(AEDB.CEA$smc)
-888    0    1    2    3 NA's 
   4   44  558  908  336  573 
contrasts(AEDB.CEA$smc)
     0 1 2 3
-888 0 0 0 0
0    1 0 0 0
1    0 1 0 0
2    0 0 1 0
3    0 0 0 1
AEDB.CEA$SMC_grouped <- as.factor(AEDB.CEA$smc)

df <- AEDB.CEA %>%
  filter(!is.na(SMC_grouped)) %>%
  group_by(Gender, SMC_grouped) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "SMC_grouped", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "SMC (grouped)",
                    xlab = "SMC", 
                    ggtheme = theme_minimal())

rm(df)


# IPH
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$IPH.bin)
  no  yes NA's 
 746 1108  569 
contrasts(AEDB.CEA$IPH.bin)
    yes
no    0
yes   1
AEDB.CEA$IPH <- as.factor(AEDB.CEA$IPH.bin)

df <- AEDB.CEA %>%
  filter(!is.na(IPH)) %>%
  group_by(Gender, IPH) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "IPH", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Intraplaque hemorrhage",
                    xlab = "intraplaque hemorrhage", 
                    ggtheme = theme_minimal())

rm(df)

# Symptoms
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$AsymptSympt)
     Asymptomatic Ocular and others       Symptomatic 
              270               541              1612 
contrasts(AEDB.CEA$AsymptSympt)
                  Ocular and others Symptomatic
Asymptomatic                      0           0
Ocular and others                 1           0
Symptomatic                       0           1
AEDB.CEA$AsymptSympt <- as.factor(AEDB.CEA$AsymptSympt)

df <- AEDB.CEA %>%
  filter(!is.na(AsymptSympt)) %>%
  group_by(Gender, AsymptSympt) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "AsymptSympt", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Symptoms",
                    xlab = "symptoms", 
                    ggtheme = theme_minimal())

rm(df)

Correlations between MCP1 plaque levels and surgery year

Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).

p1 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "experiment 1",
                        title = "MCP1 plaque levels, INT, [pg/mL]",
                        ggtheme = theme_minimal())

p1 


p2 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_pg_ml_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "experiment 2, [pg/mL]",
                        title = "MCP1 plaque levels, INT, [pg/mL]/[pg/ug]",
                        ggtheme = theme_minimal())

p2 


p3 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_pg_ug_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "experiment 2, [pg/ug]",
                        title = "MCP1 plaque levels, INT",
                        ggtheme = theme_minimal())

p3

In this section we make some variables to assist with analysis.

AEDB.CEA.samplesize = nrow(AEDB.CEA)
# TRAITS.PROTEIN = c("IL6_LN", "MCP1_LN", "IL6_pg_ug_2015_LN", "IL6R_pg_ug_2015_LN", "MCP1_pg_ug_2015_LN")
# TRAITS.PROTEIN.RANK = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank")
# TRAITS.PROTEIN.RANK = c("MCP1_pg_ug_2015_rank", "MCP1_rank")
TRAITS.PROTEIN.RANK = c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", "MCP1_rank")

# TRAITS.CON = c("Macrophages_LN", "SMC_LN", "VesselDensity_LN")
# TRAITS.CON.RANK = c("Macrophages_rank")
TRAITS.CON.RANK = c("Macrophages_rank", "SMC_rank", "VesselDensity_rank")

# TRAITS.BIN = c("MAC_binned")
TRAITS.BIN = c("CalcificationPlaque", "CollagenPlaque", "Fat10Perc", "IPH",
               "MAC_binned", "SMC_binned")


# "Hospital", 
# "Age", "Gender", 
# "TC_final", "LDL_final", "HDL_final", "TG_final", 
# "systolic", "diastoli", "GFR_MDRD", "BMI", 
# "KDOQI", "BMI_WHO",
# "SmokerCurrent", "eCigarettes", "ePackYearsSmoking",
# "DiabetesStatus", "Hypertension.composite", 
# "Hypertension.drugs", "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD", 
# "Stroke_Dx", "sympt", "Symptoms.5G", "restenos",
# "EP_composite", "EP_composite_time",
# "macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
# "neutrophils", "Mast_cells_plaque",
# "IPH.bin", "vessel_density_averaged",
# "Calc.bin", "Collagen.bin", 
# "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype",
# "IL6_pg_ug_2015", "MCP1_pg_ug_2015", 
# "QC2018_FILTER", "CHIP", "SAMPLE_TYPE",
# "CAD_history", "Stroke_history", "Peripheral.interv",
# "stenose"

# 1.  Age (continuous in 1-year increment). [Age]
# 2.  Sex (male vs. female). [Gender]
# 3.  Presence of hypertension at baseline (defined either as history of hypertension, SBP ≥140 mm Hg, DBP ≥90 mm Hg, or prescription of antihypertensive medications). [Hypertension.composite]
# 4.  Presence of diabetes mellitus at baseline (defined either as a history of diabetes, administration of glucose lowering medication, HbA1c ≥6.5%, fasting glucose ≥126 mg/dl, .or random glucose levels ≥200 mg/dl). [DiabetesStatus]
# 5.  Smoking (current, ex-, never). [SmokerCurrent]
# 6.  LDL-C levels (continuous). [LDL_final]
# 7.  Use of lipid-lowering drugs. [Med.Statin.LLD]
# 8.  Use of antiplatelet drugs. [Med.all.antiplatelet]
# 9.  eGFR (continuous). [GFR_MDRD]
# 10.   BMI (continuous). [BMI]
# 11.   History of cardiovascular disease (stroke, coronary artery disease, peripheral artery disease). [MedHx_CVD] combinatino of: [CAD_history, Stroke_history, Peripheral.interv]
# 12.   Level of stenosis (50-70% vs. 70-99%). [stenose]

# Models 
# Model 1: adjusted for age and sex
# Model 2: adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis,

AEDB.CEA$ORdate_epoch <- as.numeric(AEDB.CEA$dateok)
AEDB.CEA$ORdate_year <- as_factor(year(AEDB.CEA$dateok))
COVARIATES_M1 = c("Age", "Gender", "ORdate_year")
# COVARIATES_M1 = c("Age", "Gender", "ORdate_epoch")

COVARIATES_M2 = c(COVARIATES_M1,  
               "Hypertension.composite", "DiabetesStatus", 
               "SmokerStatus", 
               # "SmokerCurrent",
               "Med.Statin.LLD", "Med.all.antiplatelet", 
               "GFR_MDRD", "BMI", 
               # "CAD_history", "Stroke_history", "Peripheral.interv", 
               "MedHx_CVD",
               "stenose")

# COVARIATES_M3 = c(COVARIATES_M2, "LDL_final")

# COVARIATES_M4 = c(COVARIATES_M2, "hsCRP_plasma")

# COVARIATES_M5 = c(COVARIATES_M2, "IL6_pg_ug_2015_LN")
# COVARIATES_M5rank = c(COVARIATES_M2, "IL6_pg_ug_2015_rank")

Model 1

In this model we correct for Age, Gender, and year of surgery.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Quantitative plaque traits

Analysis of continuous/quantitative plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.CON.RANK)) {
    TRAIT = TRAITS.CON.RANK[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year, data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))

    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006     ORdate_year2007     ORdate_year2008     ORdate_year2009  
           0.33698             0.08254            -0.23351            -0.86647            -1.09367            -0.73236            -0.40319            -0.13374            -0.10481  
   ORdate_year2010     ORdate_year2011     ORdate_year2012     ORdate_year2013  
           0.26594             0.14151             0.09176             0.11712  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2354 -0.5940 -0.0176  0.5715  3.0820 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.395529   0.236042   1.676  0.09407 .  
currentDF[, TRAIT]  0.077440   0.030022   2.579  0.01002 *  
Age                -0.001656   0.002937  -0.564  0.57288    
Gendermale          0.081048   0.057998   1.397  0.16255    
ORdate_year2003    -0.237655   0.150189  -1.582  0.11384    
ORdate_year2004    -0.870719   0.143786  -6.056 1.89e-09 ***
ORdate_year2005    -1.092593   0.145227  -7.523 1.07e-13 ***
ORdate_year2006    -0.726541   0.147150  -4.937 9.08e-07 ***
ORdate_year2007    -0.404093   0.146442  -2.759  0.00588 ** 
ORdate_year2008    -0.133619   0.155734  -0.858  0.39107    
ORdate_year2009    -0.105426   0.152871  -0.690  0.49056    
ORdate_year2010     0.268019   0.158205   1.694  0.09051 .  
ORdate_year2011     0.136285   0.153354   0.889  0.37435    
ORdate_year2012     0.087239   0.157270   0.555  0.57920    
ORdate_year2013     0.119901   0.539663   0.222  0.82422    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9103 on 1155 degrees of freedom
Multiple R-squared:  0.1817,    Adjusted R-squared:  0.1717 
F-statistic: 18.31 on 14 and 1155 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.07744 
Standard error............: 0.030022 
Odds ratio (effect size)..: 1.081 
Lower 95% CI..............: 1.019 
Upper 95% CI..............: 1.146 
T-value...................: 2.579472 
P-value...................: 0.01001788 
R^2.......................: 0.181667 
Adjusted r^2..............: 0.171747 
Sample size of AE DB......: 2423 
Sample size of model......: 1170 
Missing data %............: 51.71275 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006     ORdate_year2007     ORdate_year2008     ORdate_year2009  
           0.40642            -0.08209            -0.28892            -0.95737            -1.14560            -0.70123            -0.39969            -0.20811            -0.18243  
   ORdate_year2010     ORdate_year2011     ORdate_year2012     ORdate_year2013  
           0.10918            -0.01825            -0.05832             0.02947  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.10809 -0.59475 -0.01498  0.56375  3.13759 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.622913   0.243987   2.553  0.01081 *  
currentDF[, TRAIT] -0.083746   0.030147  -2.778  0.00556 ** 
Age                -0.003874   0.002978  -1.301  0.19357    
Gendermale          0.068134   0.058531   1.164  0.24464    
ORdate_year2003    -0.295016   0.152127  -1.939  0.05271 .  
ORdate_year2004    -0.960309   0.147006  -6.532 9.69e-11 ***
ORdate_year2005    -1.142787   0.148465  -7.697 2.98e-14 ***
ORdate_year2006    -0.695525   0.147931  -4.702 2.89e-06 ***
ORdate_year2007    -0.399479   0.147518  -2.708  0.00687 ** 
ORdate_year2008    -0.202862   0.158167  -1.283  0.19990    
ORdate_year2009    -0.179577   0.155721  -1.153  0.24907    
ORdate_year2010     0.119282   0.161023   0.741  0.45898    
ORdate_year2011    -0.013350   0.155386  -0.086  0.93155    
ORdate_year2012    -0.056178   0.159299  -0.353  0.72441    
ORdate_year2013     0.038548   0.540546   0.071  0.94316    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9106 on 1151 degrees of freedom
Multiple R-squared:  0.1817,    Adjusted R-squared:  0.1717 
F-statistic: 18.25 on 14 and 1151 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.083746 
Standard error............: 0.030147 
Odds ratio (effect size)..: 0.92 
Lower 95% CI..............: 0.867 
Upper 95% CI..............: 0.976 
T-value...................: -2.777945 
P-value...................: 0.005559273 
R^2.......................: 0.181683 
Adjusted r^2..............: 0.17173 
Sample size of AE DB......: 2423 
Sample size of model......: 1166 
Missing data %............: 51.87784 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006     ORdate_year2007     ORdate_year2008  
          0.320407           -0.043841            0.111624           -0.272605           -0.916934           -1.126262           -0.719577           -0.408076           -0.188508  
   ORdate_year2009     ORdate_year2010     ORdate_year2011     ORdate_year2012     ORdate_year2013  
         -0.216319            0.153278            0.009214           -0.051196            0.020986  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1779 -0.6194 -0.0134  0.5554  3.1203 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.421304   0.245160   1.718  0.08599 .  
currentDF[, TRAIT] -0.043792   0.029165  -1.502  0.13351    
Age                -0.001500   0.003074  -0.488  0.62570    
Gendermale          0.111830   0.060542   1.847  0.06500 .  
ORdate_year2003    -0.275200   0.154359  -1.783  0.07489 .  
ORdate_year2004    -0.916664   0.147149  -6.229 6.70e-10 ***
ORdate_year2005    -1.123951   0.149419  -7.522 1.13e-13 ***
ORdate_year2006    -0.717789   0.150704  -4.763 2.17e-06 ***
ORdate_year2007    -0.406223   0.152930  -2.656  0.00802 ** 
ORdate_year2008    -0.185083   0.162822  -1.137  0.25591    
ORdate_year2009    -0.213266   0.159375  -1.338  0.18113    
ORdate_year2010     0.158011   0.163369   0.967  0.33366    
ORdate_year2011     0.013455   0.157030   0.086  0.93174    
ORdate_year2012    -0.048793   0.162960  -0.299  0.76468    
ORdate_year2013     0.024963   0.546856   0.046  0.96360    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9212 on 1079 degrees of freedom
Multiple R-squared:  0.1794,    Adjusted R-squared:  0.1687 
F-statistic: 16.84 on 14 and 1079 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.043792 
Standard error............: 0.029165 
Odds ratio (effect size)..: 0.957 
Lower 95% CI..............: 0.904 
Upper 95% CI..............: 1.013 
T-value...................: -1.501526 
P-value...................: 0.1335122 
R^2.......................: 0.179351 
Adjusted r^2..............: 0.168703 
Sample size of AE DB......: 2423 
Sample size of model......: 1094 
Missing data %............: 54.84936 

Analysis of MCP1_pg_ml_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006     ORdate_year2007     ORdate_year2008  
          -0.16288             0.08428             0.32878            -0.25413            -0.76643            -0.80078            -0.26303            -0.14007             0.29281  
   ORdate_year2009     ORdate_year2010     ORdate_year2011     ORdate_year2012     ORdate_year2013  
           0.29073             0.43801             0.56392             0.45845             0.84232  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.84806 -0.54937 -0.01453  0.56092  3.00399 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.352959   0.224612  -1.571 0.116360    
currentDF[, TRAIT]  0.086818   0.028558   3.040 0.002419 ** 
Age                 0.002815   0.002795   1.007 0.314005    
Gendermale          0.327756   0.055187   5.939 3.79e-09 ***
ORdate_year2003    -0.247841   0.142929  -1.734 0.083182 .  
ORdate_year2004    -0.765754   0.136835  -5.596 2.73e-08 ***
ORdate_year2005    -0.804401   0.138207  -5.820 7.60e-09 ***
ORdate_year2006    -0.267054   0.140037  -1.907 0.056765 .  
ORdate_year2007    -0.144154   0.139363  -1.034 0.301177    
ORdate_year2008     0.287921   0.148206   1.943 0.052294 .  
ORdate_year2009     0.287587   0.145481   1.977 0.048302 *  
ORdate_year2010     0.432925   0.150557   2.875 0.004108 ** 
ORdate_year2011     0.558437   0.145939   3.826 0.000137 ***
ORdate_year2012     0.456015   0.149326   3.054 0.002311 ** 
ORdate_year2013     0.836326   0.513578   1.628 0.103706    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8663 on 1156 degrees of freedom
Multiple R-squared:  0.2475,    Adjusted R-squared:  0.2384 
F-statistic: 27.16 on 14 and 1156 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.086818 
Standard error............: 0.028558 
Odds ratio (effect size)..: 1.091 
Lower 95% CI..............: 1.031 
Upper 95% CI..............: 1.153 
T-value...................: 3.040034 
P-value...................: 0.002418718 
R^2.......................: 0.247484 
Adjusted r^2..............: 0.23837 
Sample size of AE DB......: 2423 
Sample size of model......: 1171 
Missing data %............: 51.67148 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006     ORdate_year2007     ORdate_year2008  
          -0.03097            -0.14724             0.29811            -0.33851            -0.91018            -0.90001            -0.23861            -0.14773             0.17349  
   ORdate_year2009     ORdate_year2010     ORdate_year2011     ORdate_year2012     ORdate_year2013  
           0.16422             0.20639             0.33409             0.24594             0.70541  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.81766 -0.54558 -0.00956  0.54805  3.02418 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.0195953  0.2299828   0.085   0.9321    
currentDF[, TRAIT] -0.1484926  0.0284162  -5.226 2.06e-07 ***
Age                -0.0007339  0.0028071  -0.261   0.7938    
Gendermale          0.2979197  0.0551663   5.400 8.07e-08 ***
ORdate_year2003    -0.3404323  0.1434078  -2.374   0.0178 *  
ORdate_year2004    -0.9111497  0.1385811  -6.575 7.37e-11 ***
ORdate_year2005    -0.9000922  0.1399559  -6.431 1.85e-10 ***
ORdate_year2006    -0.2380598  0.1394529  -1.707   0.0881 .  
ORdate_year2007    -0.1472997  0.1390632  -1.059   0.2897    
ORdate_year2008     0.1740095  0.1491021   1.167   0.2434    
ORdate_year2009     0.1641912  0.1467960   1.118   0.2636    
ORdate_year2010     0.2067945  0.1517939   1.362   0.1734    
ORdate_year2011     0.3347231  0.1464800   2.285   0.0225 *  
ORdate_year2012     0.2458210  0.1498537   1.640   0.1012    
ORdate_year2013     0.7062072  0.5095673   1.386   0.1660    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8584 on 1152 degrees of freedom
Multiple R-squared:  0.2588,    Adjusted R-squared:  0.2498 
F-statistic: 28.74 on 14 and 1152 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.148493 
Standard error............: 0.028416 
Odds ratio (effect size)..: 0.862 
Lower 95% CI..............: 0.815 
Upper 95% CI..............: 0.911 
T-value...................: -5.225639 
P-value...................: 2.058918e-07 
R^2.......................: 0.258833 
Adjusted r^2..............: 0.249826 
Sample size of AE DB......: 2423 
Sample size of model......: 1167 
Missing data %............: 51.83657 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  ORdate_year2007  ORdate_year2008  ORdate_year2009  ORdate_year2010  ORdate_year2011  
        -0.1223           0.3445          -0.2947          -0.8248          -0.8312          -0.2522          -0.1431           0.2516           0.1917           0.2774           0.4670  
ORdate_year2012  ORdate_year2013  
         0.3379           0.7817  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.85581 -0.56391 -0.00244  0.56715  3.09490 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.290410   0.233765  -1.242  0.21439    
currentDF[, TRAIT] -0.033503   0.027811  -1.205  0.22861    
Age                 0.002488   0.002931   0.849  0.39608    
Gendermale          0.346303   0.057723   5.999 2.70e-09 ***
ORdate_year2003    -0.291375   0.147193  -1.980  0.04801 *  
ORdate_year2004    -0.815017   0.140318  -5.808 8.29e-09 ***
ORdate_year2005    -0.826258   0.142483  -5.799 8.75e-09 ***
ORdate_year2006    -0.249346   0.143708  -1.735  0.08301 .  
ORdate_year2007    -0.147747   0.145830  -1.013  0.31122    
ORdate_year2008     0.248014   0.155263   1.597  0.11047    
ORdate_year2009     0.186583   0.151977   1.228  0.21982    
ORdate_year2010     0.268896   0.155785   1.726  0.08462 .  
ORdate_year2011     0.444322   0.149740   2.967  0.00307 ** 
ORdate_year2012     0.313324   0.155027   2.021  0.04352 *  
ORdate_year2013     0.752339   0.521470   1.443  0.14939    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8784 on 1080 degrees of freedom
Multiple R-squared:  0.2376,    Adjusted R-squared:  0.2277 
F-statistic: 24.04 on 14 and 1080 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.033503 
Standard error............: 0.027811 
Odds ratio (effect size)..: 0.967 
Lower 95% CI..............: 0.916 
Upper 95% CI..............: 1.021 
T-value...................: -1.20464 
P-value...................: 0.228606 
R^2.......................: 0.237565 
Adjusted r^2..............: 0.227681 
Sample size of AE DB......: 2423 
Sample size of model......: 1095 
Missing data %............: 54.80809 

Analysis of MCP1_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.2003              0.1176              0.2647             -0.1616             -0.5152             -0.5602             -0.9499  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4760 -0.6055 -0.0364  0.6435  2.9129 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.611198   0.343546   1.779 0.075781 .  
currentDF[, TRAIT]  0.116279   0.038753   3.001 0.002818 ** 
Age                -0.006139   0.004734  -1.297 0.195211    
Gendermale          0.268083   0.090711   2.955 0.003258 ** 
ORdate_year2003    -0.169388   0.145331  -1.166 0.244313    
ORdate_year2004    -0.514419   0.140123  -3.671 0.000265 ***
ORdate_year2005    -0.554838   0.139369  -3.981 7.79e-05 ***
ORdate_year2006    -0.935262   0.222533  -4.203 3.08e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9597 on 547 degrees of freedom
Multiple R-squared:  0.08984,   Adjusted R-squared:  0.0782 
F-statistic: 7.714 on 7 and 547 DF,  p-value: 6.608e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.116279 
Standard error............: 0.038753 
Odds ratio (effect size)..: 1.123 
Lower 95% CI..............: 1.041 
Upper 95% CI..............: 1.212 
T-value...................: 3.000536 
P-value...................: 0.002817901 
R^2.......................: 0.089844 
Adjusted r^2..............: 0.078196 
Sample size of AE DB......: 2423 
Sample size of model......: 555 
Missing data %............: 77.09451 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           1.37036            -0.25142            -0.01324             0.22548            -0.37756            -0.82687            -0.78270            -1.04179  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2033 -0.5595 -0.0592  0.6357  2.9156 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         1.370365   0.348243   3.935 9.39e-05 ***
currentDF[, TRAIT] -0.251423   0.040425  -6.219 9.95e-10 ***
Age                -0.013244   0.004703  -2.816  0.00504 ** 
Gendermale          0.225484   0.088596   2.545  0.01120 *  
ORdate_year2003    -0.377564   0.143749  -2.627  0.00887 ** 
ORdate_year2004    -0.826868   0.141179  -5.857 8.17e-09 ***
ORdate_year2005    -0.782698   0.140012  -5.590 3.59e-08 ***
ORdate_year2006    -1.041790   0.217292  -4.794 2.11e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9309 on 544 degrees of freedom
Multiple R-squared:  0.1382,    Adjusted R-squared:  0.1271 
F-statistic: 12.47 on 7 and 544 DF,  p-value: 7.483e-15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.251423 
Standard error............: 0.040425 
Odds ratio (effect size)..: 0.778 
Lower 95% CI..............: 0.718 
Upper 95% CI..............: 0.842 
T-value...................: -6.219464 
P-value...................: 9.952175e-10 
R^2.......................: 0.138235 
Adjusted r^2..............: 0.127146 
Sample size of AE DB......: 2423 
Sample size of model......: 552 
Missing data %............: 77.21832 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.2723           0.2989          -0.2369          -0.6282          -0.6192          -0.9273  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4402 -0.6106 -0.0202  0.6608  2.7828 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.724088   0.347451   2.084  0.03763 *  
currentDF[, TRAIT] -0.046530   0.051026  -0.912  0.36224    
Age                -0.006816   0.004798  -1.421  0.15599    
Gendermale          0.301681   0.092002   3.279  0.00111 ** 
ORdate_year2003    -0.240390   0.147816  -1.626  0.10448    
ORdate_year2004    -0.608627   0.142405  -4.274 2.27e-05 ***
ORdate_year2005    -0.595420   0.143071  -4.162 3.68e-05 ***
ORdate_year2006    -0.901546   0.227905  -3.956 8.65e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9646 on 536 degrees of freedom
Multiple R-squared:  0.08305,   Adjusted R-squared:  0.07108 
F-statistic: 6.936 on 7 and 536 DF,  p-value: 6.415e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.04653 
Standard error............: 0.051026 
Odds ratio (effect size)..: 0.955 
Lower 95% CI..............: 0.864 
Upper 95% CI..............: 1.055 
T-value...................: -0.911886 
P-value...................: 0.3622387 
R^2.......................: 0.083055 
Adjusted r^2..............: 0.07108 
Sample size of AE DB......: 2423 
Sample size of model......: 544 
Missing data %............: 77.54849 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Uni.Protein.PlaquePhenotypes.RANK.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Binary plaque traits

Analysis of binary plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.BIN)) {
    TRAIT = TRAITS.BIN[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate
    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year,
              data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
            -1.15276              -0.25878               0.02156              -0.19700               0.07963               0.09044               0.33399               0.53682  
     ORdate_year2007       ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
            -0.01096              -0.04191              -0.40867              -1.13732              -1.51676              -1.29592              -0.99827             -12.26332  

Degrees of Freedom: 1179 Total (i.e. Null);  1164 Residual
Null Deviance:      1635 
Residual Deviance: 1474     AIC: 1506

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9000  -1.1057  -0.5571   1.0390   2.1081  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)           -1.152757   0.548298  -2.102 0.035516 *  
currentDF[, PROTEIN]  -0.258780   0.068795  -3.762 0.000169 ***
Age                    0.021557   0.006946   3.104 0.001912 ** 
Gendermale            -0.196998   0.135903  -1.450 0.147183    
ORdate_year2003        0.079632   0.334493   0.238 0.811829    
ORdate_year2004        0.090436   0.326141   0.277 0.781557    
ORdate_year2005        0.333989   0.337072   0.991 0.321757    
ORdate_year2006        0.536816   0.338211   1.587 0.112462    
ORdate_year2007       -0.010959   0.327021  -0.034 0.973268    
ORdate_year2008       -0.041911   0.346823  -0.121 0.903816    
ORdate_year2009       -0.408667   0.340571  -1.200 0.230160    
ORdate_year2010       -1.137316   0.366915  -3.100 0.001937 ** 
ORdate_year2011       -1.516757   0.363330  -4.175 2.99e-05 ***
ORdate_year2012       -1.295922   0.366732  -3.534 0.000410 ***
ORdate_year2013       -0.998274   0.882699  -1.131 0.258083    
ORdate_year2014      -12.263319 324.743820  -0.038 0.969877    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1635.3  on 1179  degrees of freedom
Residual deviance: 1473.7  on 1164  degrees of freedom
AIC: 1505.7

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.25878 
Standard error............: 0.068795 
Odds ratio (effect size)..: 0.772 
Lower 95% CI..............: 0.675 
Upper 95% CI..............: 0.883 
Z-value...................: -3.76162 
P-value...................: 0.0001688163 
Hosmer and Lemeshow r^2...: 0.098803 
Cox and Snell r^2.........: 0.127962 
Nagelkerke's pseudo r^2...: 0.170643 
Sample size of AE DB......: 2423 
Sample size of model......: 1180 
Missing data %............: 51.30004 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007       ORdate_year2008  
             1.36122              -0.14531              -0.58117              -0.08325               1.15946               0.82042              -0.58458               0.35273  
     ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
            -0.44426               0.22838              -0.17137              -0.07051              -0.99901             -14.72841  

Degrees of Freedom: 1180 Total (i.e. Null);  1167 Residual
Null Deviance:      1217 
Residual Deviance: 1156     AIC: 1184

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3972   0.3573   0.6302   0.7526   1.1011  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)  
(Intercept)           1.310e+00  6.421e-01   2.040   0.0413 *
currentDF[, PROTEIN] -1.456e-01  8.211e-02  -1.773   0.0763 .
Age                   6.307e-04  8.055e-03   0.078   0.9376  
Gendermale            1.284e-02  1.597e-01   0.080   0.9359  
ORdate_year2003      -5.800e-01  3.869e-01  -1.499   0.1339  
ORdate_year2004      -8.391e-02  3.938e-01  -0.213   0.8313  
ORdate_year2005       1.158e+00  4.833e-01   2.397   0.0165 *
ORdate_year2006       8.200e-01  4.503e-01   1.821   0.0686 .
ORdate_year2007      -5.862e-01  3.807e-01  -1.540   0.1236  
ORdate_year2008       3.512e-01  4.383e-01   0.801   0.4230  
ORdate_year2009      -4.455e-01  3.950e-01  -1.128   0.2594  
ORdate_year2010       2.272e-01  4.287e-01   0.530   0.5961  
ORdate_year2011      -1.737e-01  3.954e-01  -0.439   0.6605  
ORdate_year2012      -7.200e-02  4.105e-01  -0.175   0.8608  
ORdate_year2013      -1.001e+00  8.317e-01  -1.203   0.2289  
ORdate_year2014      -1.473e+01  5.354e+02  -0.028   0.9781  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1216.6  on 1180  degrees of freedom
Residual deviance: 1155.7  on 1165  degrees of freedom
AIC: 1187.7

Number of Fisher Scoring iterations: 12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.145558 
Standard error............: 0.082113 
Odds ratio (effect size)..: 0.865 
Lower 95% CI..............: 0.736 
Upper 95% CI..............: 1.016 
Z-value...................: -1.772653 
P-value...................: 0.07628619 
Hosmer and Lemeshow r^2...: 0.050031 
Cox and Snell r^2.........: 0.050233 
Nagelkerke's pseudo r^2...: 0.078118 
Sample size of AE DB......: 2423 
Sample size of model......: 1181 
Missing data %............: 51.25877 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
            -0.86420               0.46340               0.01889               0.95051               0.77463               0.89766               0.89270               0.58665  
     ORdate_year2007       ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
             0.11001              -0.63104              -0.60646              -0.39901              -1.12967              -1.08876              -0.40034              10.61751  

Degrees of Freedom: 1180 Total (i.e. Null);  1165 Residual
Null Deviance:      1388 
Residual Deviance: 1239     AIC: 1271

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6124  -0.9629   0.5625   0.8039   1.5940  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)           -0.864199   0.607049  -1.424  0.15456    
currentDF[, PROTEIN]   0.463400   0.082063   5.647 1.63e-08 ***
Age                    0.018893   0.007545   2.504  0.01228 *  
Gendermale             0.950507   0.145500   6.533 6.46e-11 ***
ORdate_year2003        0.774629   0.423530   1.829  0.06740 .  
ORdate_year2004        0.897656   0.402670   2.229  0.02580 *  
ORdate_year2005        0.892701   0.411355   2.170  0.03000 *  
ORdate_year2006        0.586651   0.402816   1.456  0.14529    
ORdate_year2007        0.110010   0.391436   0.281  0.77868    
ORdate_year2008       -0.631037   0.399013  -1.581  0.11376    
ORdate_year2009       -0.606463   0.391994  -1.547  0.12183    
ORdate_year2010       -0.399008   0.407400  -0.979  0.32738    
ORdate_year2011       -1.129672   0.384436  -2.939  0.00330 ** 
ORdate_year2012       -1.088763   0.392820  -2.772  0.00558 ** 
ORdate_year2013       -0.400340   0.915726  -0.437  0.66198    
ORdate_year2014       10.617507 324.743883   0.033  0.97392    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1387.7  on 1180  degrees of freedom
Residual deviance: 1239.4  on 1165  degrees of freedom
AIC: 1271.4

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.4634 
Standard error............: 0.082063 
Odds ratio (effect size)..: 1.589 
Lower 95% CI..............: 1.353 
Upper 95% CI..............: 1.867 
Z-value...................: 5.646868 
P-value...................: 1.633976e-08 
Hosmer and Lemeshow r^2...: 0.10692 
Cox and Snell r^2.........: 0.118066 
Nagelkerke's pseudo r^2...: 0.170812 
Sample size of AE DB......: 2423 
Sample size of model......: 1181 
Missing data %............: 51.25877 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  ORdate_year2007  ORdate_year2008  ORdate_year2009  ORdate_year2010  ORdate_year2011  
        0.76738          0.67016         -0.20924         -0.13741         -0.06569         -0.67660         -0.85264         -0.98192         -1.42311         -1.41333         -1.59431  
ORdate_year2012  ORdate_year2013  ORdate_year2014  
       -1.13573         -0.31123        -14.00361  

Degrees of Freedom: 1177 Total (i.e. Null);  1164 Residual
Null Deviance:      1576 
Residual Deviance: 1472     AIC: 1500

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8721  -1.1589   0.6896   0.9595   1.6149  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)            0.121646   0.565343   0.215 0.829633    
currentDF[, PROTEIN]   0.052219   0.070235   0.743 0.457184    
Age                    0.009410   0.006845   1.375 0.169219    
Gendermale             0.664410   0.134145   4.953 7.31e-07 ***
ORdate_year2003       -0.177363   0.387421  -0.458 0.647092    
ORdate_year2004       -0.094676   0.378465  -0.250 0.802464    
ORdate_year2005       -0.024357   0.387910  -0.063 0.949934    
ORdate_year2006       -0.653339   0.374785  -1.743 0.081292 .  
ORdate_year2007       -0.846454   0.370248  -2.286 0.022244 *  
ORdate_year2008       -0.996677   0.387007  -2.575 0.010014 *  
ORdate_year2009       -1.434044   0.380336  -3.770 0.000163 ***
ORdate_year2010       -1.450567   0.388429  -3.734 0.000188 ***
ORdate_year2011       -1.629340   0.376571  -4.327 1.51e-05 ***
ORdate_year2012       -1.159615   0.385039  -3.012 0.002598 ** 
ORdate_year2013       -0.341326   0.904718  -0.377 0.705970    
ORdate_year2014      -14.035242 324.743866  -0.043 0.965527    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1576.1  on 1177  degrees of freedom
Residual deviance: 1469.2  on 1162  degrees of freedom
AIC: 1501.2

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.052219 
Standard error............: 0.070235 
Odds ratio (effect size)..: 1.054 
Lower 95% CI..............: 0.918 
Upper 95% CI..............: 1.209 
Z-value...................: 0.743492 
P-value...................: 0.4571839 
Hosmer and Lemeshow r^2...: 0.067846 
Cox and Snell r^2.........: 0.086776 
Nagelkerke's pseudo r^2...: 0.117644 
Sample size of AE DB......: 2423 
Sample size of model......: 1178 
Missing data %............: 51.38258 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007  
            -0.82062               0.27720               0.62424               0.14829               0.81291               1.28017               1.45942               1.04855  
     ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013  
            -0.17049               0.53234               0.07347              -0.33350              -1.05823               0.52723  

Degrees of Freedom: 1174 Total (i.e. Null);  1161 Residual
Null Deviance:      1628 
Residual Deviance: 1487     AIC: 1515

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7983  -1.0918   0.6769   1.0279   2.0074  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -0.231599   0.548722  -0.422 0.672973    
currentDF[, PROTEIN]  0.275365   0.069669   3.952 7.73e-05 ***
Age                  -0.008748   0.006833  -1.280 0.200489    
Gendermale            0.626746   0.135429   4.628 3.69e-06 ***
ORdate_year2003       0.132164   0.346010   0.382 0.702486    
ORdate_year2004       0.812947   0.337912   2.406 0.016137 *  
ORdate_year2005       1.291925   0.352112   3.669 0.000243 ***
ORdate_year2006       1.468127   0.354102   4.146 3.38e-05 ***
ORdate_year2007       1.059531   0.344161   3.079 0.002080 ** 
ORdate_year2008      -0.153722   0.360732  -0.426 0.670006    
ORdate_year2009       0.545044   0.351293   1.552 0.120773    
ORdate_year2010       0.096059   0.357595   0.269 0.788218    
ORdate_year2011      -0.310076   0.347795  -0.892 0.372635    
ORdate_year2012      -1.043765   0.381329  -2.737 0.006197 ** 
ORdate_year2013       0.545411   0.821188   0.664 0.506579    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1627.9  on 1174  degrees of freedom
Residual deviance: 1485.5  on 1160  degrees of freedom
AIC: 1515.5

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.275365 
Standard error............: 0.069669 
Odds ratio (effect size)..: 1.317 
Lower 95% CI..............: 1.149 
Upper 95% CI..............: 1.51 
Z-value...................: 3.952494 
P-value...................: 7.734095e-05 
Hosmer and Lemeshow r^2...: 0.087478 
Cox and Snell r^2.........: 0.114137 
Nagelkerke's pseudo r^2...: 0.152227 
Sample size of AE DB......: 2423 
Sample size of model......: 1175 
Missing data %............: 51.5064 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
             3.01086              -0.15407              -0.02970              -0.37159              -0.11349               0.14267               0.30103               0.29080  
     ORdate_year2007       ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
             0.06215               0.09156               0.37188               0.35192               0.11284              -0.85435               0.32768             -13.06366  

Degrees of Freedom: 1175 Total (i.e. Null);  1160 Residual
Null Deviance:      1469 
Residual Deviance: 1408     AIC: 1440

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9743  -1.3087   0.7395   0.8770   1.6720  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)            3.010859   0.587320   5.126 2.95e-07 ***
currentDF[, PROTEIN]  -0.154071   0.071727  -2.148  0.03171 *  
Age                   -0.029705   0.007319  -4.059 4.93e-05 ***
Gendermale            -0.371591   0.144156  -2.578  0.00995 ** 
ORdate_year2003       -0.113492   0.358067  -0.317  0.75128    
ORdate_year2004        0.142670   0.353005   0.404  0.68610    
ORdate_year2005        0.301033   0.364452   0.826  0.40881    
ORdate_year2006        0.290798   0.362573   0.802  0.42253    
ORdate_year2007        0.062151   0.351499   0.177  0.85965    
ORdate_year2008        0.091558   0.371935   0.246  0.80555    
ORdate_year2009        0.371885   0.373104   0.997  0.31889    
ORdate_year2010        0.351922   0.379197   0.928  0.35337    
ORdate_year2011        0.112839   0.357773   0.315  0.75246    
ORdate_year2012       -0.854350   0.361900  -2.361  0.01824 *  
ORdate_year2013        0.327683   0.890879   0.368  0.71301    
ORdate_year2014      -13.063661 324.743838  -0.040  0.96791    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1469.3  on 1175  degrees of freedom
Residual deviance: 1408.4  on 1160  degrees of freedom
AIC: 1440.4

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.154071 
Standard error............: 0.071727 
Odds ratio (effect size)..: 0.857 
Lower 95% CI..............: 0.745 
Upper 95% CI..............: 0.987 
Z-value...................: -2.148004 
P-value...................: 0.0317134 
Hosmer and Lemeshow r^2...: 0.041497 
Cox and Snell r^2.........: 0.050527 
Nagelkerke's pseudo r^2...: 0.070831 
Sample size of AE DB......: 2423 
Sample size of model......: 1176 
Missing data %............: 51.46513 

Analysis of MCP1_pg_ml_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007  
            -1.44074              -0.32281               0.02287               0.05854               0.06294               0.35697               0.64638               0.04503  
     ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
             0.08149              -0.29648              -1.08292              -1.39377              -1.20713              -0.92391             -12.29382  

Degrees of Freedom: 1180 Total (i.e. Null);  1166 Residual
Null Deviance:      1637 
Residual Deviance: 1471     AIC: 1501

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9023  -1.1008  -0.5294   1.0375   2.1708  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)           -1.362361   0.549989  -2.477 0.013247 *  
currentDF[, PROTEIN]  -0.312155   0.073630  -4.239 2.24e-05 ***
Age                    0.022895   0.006965   3.287 0.001012 ** 
Gendermale            -0.118872   0.137848  -0.862 0.388499    
ORdate_year2003        0.060048   0.335047   0.179 0.857762    
ORdate_year2004        0.074309   0.326042   0.228 0.819713    
ORdate_year2005        0.367357   0.334888   1.097 0.272662    
ORdate_year2006        0.645216   0.336156   1.919 0.054934 .  
ORdate_year2007        0.052674   0.326837   0.161 0.871966    
ORdate_year2008        0.080548   0.347949   0.231 0.816932    
ORdate_year2009       -0.297681   0.341523  -0.872 0.383412    
ORdate_year2010       -1.091316   0.368106  -2.965 0.003030 ** 
ORdate_year2011       -1.394006   0.365116  -3.818 0.000135 ***
ORdate_year2012       -1.207795   0.367754  -3.284 0.001023 ** 
ORdate_year2013       -0.920184   0.885011  -1.040 0.298459    
ORdate_year2014      -12.265422 324.743819  -0.038 0.969871    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1636.6  on 1180  degrees of freedom
Residual deviance: 1470.2  on 1165  degrees of freedom
AIC: 1502.2

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.312155 
Standard error............: 0.07363 
Odds ratio (effect size)..: 0.732 
Lower 95% CI..............: 0.634 
Upper 95% CI..............: 0.845 
Z-value...................: -4.239494 
P-value...................: 2.240244e-05 
Hosmer and Lemeshow r^2...: 0.101675 
Cox and Snell r^2.........: 0.131422 
Nagelkerke's pseudo r^2...: 0.17526 
Sample size of AE DB......: 2423 
Sample size of model......: 1181 
Missing data %............: 51.25877 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007       ORdate_year2008  
             1.34657              -0.26315              -0.62930              -0.16869               1.11262               0.85594              -0.56479               0.44564  
     ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
            -0.36405               0.29120              -0.05358               0.03872              -0.92356             -14.65333  

Degrees of Freedom: 1181 Total (i.e. Null);  1168 Residual
Null Deviance:      1217 
Residual Deviance: 1150     AIC: 1178

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4538   0.3467   0.6037   0.7479   1.1411  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)            1.181034   0.643388   1.836  0.06641 . 
currentDF[, PROTEIN]  -0.273696   0.087082  -3.143  0.00167 **
Age                    0.001495   0.008092   0.185  0.85345   
Gendermale             0.098686   0.163018   0.605  0.54493   
ORdate_year2003       -0.630061   0.389254  -1.619  0.10553   
ORdate_year2004       -0.179856   0.394923  -0.455  0.64881   
ORdate_year2005        1.102687   0.481381   2.291  0.02198 * 
ORdate_year2006        0.854495   0.448409   1.906  0.05670 . 
ORdate_year2007       -0.574407   0.380938  -1.508  0.13159   
ORdate_year2008        0.443062   0.440195   1.007  0.31417   
ORdate_year2009       -0.366704   0.396580  -0.925  0.35514   
ORdate_year2010        0.293998   0.431294   0.682  0.49545   
ORdate_year2011       -0.057820   0.398625  -0.145  0.88467   
ORdate_year2012        0.036218   0.412844   0.088  0.93009   
ORdate_year2013       -0.926518   0.838573  -1.105  0.26921   
ORdate_year2014      -14.673249 535.411274  -0.027  0.97814   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1217.1  on 1181  degrees of freedom
Residual deviance: 1149.4  on 1166  degrees of freedom
AIC: 1181.4

Number of Fisher Scoring iterations: 12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.273696 
Standard error............: 0.087082 
Odds ratio (effect size)..: 0.761 
Lower 95% CI..............: 0.641 
Upper 95% CI..............: 0.902 
Z-value...................: -3.142972 
P-value...................: 0.00167242 
Hosmer and Lemeshow r^2...: 0.055626 
Cox and Snell r^2.........: 0.055667 
Nagelkerke's pseudo r^2...: 0.086591 
Sample size of AE DB......: 2423 
Sample size of model......: 1182 
Missing data %............: 51.2175 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
           -0.489772              0.546702              0.016646              0.800078              0.794860              0.917833              0.830723              0.400608  
     ORdate_year2007       ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
            0.001402             -0.839783             -0.796924             -0.474452             -1.356362             -1.308085             -0.525406             10.635042  

Degrees of Freedom: 1181 Total (i.e. Null);  1166 Residual
Null Deviance:      1390 
Residual Deviance: 1231     AIC: 1263

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.7194  -0.9325   0.5623   0.7853   1.7389  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)           -0.489772   0.610585  -0.802 0.422474    
currentDF[, PROTEIN]   0.546702   0.084767   6.449 1.12e-10 ***
Age                    0.016646   0.007568   2.199 0.027846 *  
Gendermale             0.800078   0.147388   5.428 5.69e-08 ***
ORdate_year2003        0.794860   0.425139   1.870 0.061533 .  
ORdate_year2004        0.917833   0.404062   2.272 0.023116 *  
ORdate_year2005        0.830723   0.409483   2.029 0.042488 *  
ORdate_year2006        0.400608   0.402257   0.996 0.319298    
ORdate_year2007        0.001402   0.392662   0.004 0.997151    
ORdate_year2008       -0.839783   0.402416  -2.087 0.036901 *  
ORdate_year2009       -0.796924   0.396539  -2.010 0.044463 *  
ORdate_year2010       -0.474452   0.410293  -1.156 0.247529    
ORdate_year2011       -1.356362   0.390507  -3.473 0.000514 ***
ORdate_year2012       -1.308085   0.396862  -3.296 0.000980 ***
ORdate_year2013       -0.525406   0.926520  -0.567 0.570663    
ORdate_year2014       10.635042 324.743879   0.033 0.973875    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1390.3  on 1181  degrees of freedom
Residual deviance: 1230.6  on 1166  degrees of freedom
AIC: 1262.6

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.546702 
Standard error............: 0.084767 
Odds ratio (effect size)..: 1.728 
Lower 95% CI..............: 1.463 
Upper 95% CI..............: 2.04 
Z-value...................: 6.449457 
P-value...................: 1.122518e-10 
Hosmer and Lemeshow r^2...: 0.11488 
Cox and Snell r^2.........: 0.126396 
Nagelkerke's pseudo r^2...: 0.182767 
Sample size of AE DB......: 2423 
Sample size of model......: 1182 
Missing data %............: 51.2175 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007  
             0.82147               0.25748               0.58469              -0.13609               0.05389               0.13734              -0.63174              -0.83631  
     ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
            -1.06506              -1.50988              -1.52679              -1.74460              -1.27965              -0.43284             -14.22594  

Degrees of Freedom: 1178 Total (i.e. Null);  1164 Residual
Null Deviance:      1578 
Residual Deviance: 1461     AIC: 1491

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9822  -1.1577   0.6924   0.9648   1.6660  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)            0.237038   0.568222   0.417 0.676563    
currentDF[, PROTEIN]   0.255430   0.074188   3.443 0.000575 ***
Age                    0.008721   0.006875   1.269 0.204608    
Gendermale             0.583473   0.136618   4.271 1.95e-05 ***
ORdate_year2003       -0.121390   0.390108  -0.311 0.755670    
ORdate_year2004        0.049892   0.379298   0.132 0.895349    
ORdate_year2005        0.119915   0.387309   0.310 0.756857    
ORdate_year2006       -0.643402   0.374392  -1.719 0.085700 .  
ORdate_year2007       -0.849404   0.371985  -2.283 0.022405 *  
ORdate_year2008       -1.085574   0.390618  -2.779 0.005451 ** 
ORdate_year2009       -1.525635   0.384278  -3.970 7.18e-05 ***
ORdate_year2010       -1.550834   0.392692  -3.949 7.84e-05 ***
ORdate_year2011       -1.771175   0.382203  -4.634 3.58e-06 ***
ORdate_year2012       -1.298707   0.388844  -3.340 0.000838 ***
ORdate_year2013       -0.449779   0.906191  -0.496 0.619654    
ORdate_year2014      -14.205147 324.743869  -0.044 0.965110    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1578.0  on 1178  degrees of freedom
Residual deviance: 1459.3  on 1163  degrees of freedom
AIC: 1491.3

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.25543 
Standard error............: 0.074188 
Odds ratio (effect size)..: 1.291 
Lower 95% CI..............: 1.116 
Upper 95% CI..............: 1.493 
Z-value...................: 3.443003 
P-value...................: 0.0005752928 
Hosmer and Lemeshow r^2...: 0.075193 
Cox and Snell r^2.........: 0.095739 
Nagelkerke's pseudo r^2...: 0.129775 
Sample size of AE DB......: 2423 
Sample size of model......: 1179 
Missing data %............: 51.34131 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
            0.007281              0.359130             -0.010360              0.533974              0.161109              0.853809              1.286386              1.366591  
     ORdate_year2007       ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013  
            1.003752             -0.293263              0.418250              0.024109             -0.469331             -1.201501              0.448130  

Degrees of Freedom: 1175 Total (i.e. Null);  1161 Residual
Null Deviance:      1629 
Residual Deviance: 1477     AIC: 1507

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8498  -1.0958   0.6466   1.0116   2.0571  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)    
(Intercept)           0.007281   0.549622   0.013 0.989430    
currentDF[, PROTEIN]  0.359130   0.073601   4.879 1.06e-06 ***
Age                  -0.010360   0.006862  -1.510 0.131070    
Gendermale            0.533974   0.137441   3.885 0.000102 ***
ORdate_year2003       0.161109   0.347117   0.464 0.642552    
ORdate_year2004       0.853809   0.337919   2.527 0.011515 *  
ORdate_year2005       1.286386   0.349366   3.682 0.000231 ***
ORdate_year2006       1.366591   0.351281   3.890 0.000100 ***
ORdate_year2007       1.003752   0.344047   2.917 0.003529 ** 
ORdate_year2008      -0.293263   0.362257  -0.810 0.418202    
ORdate_year2009       0.418250   0.352741   1.186 0.235735    
ORdate_year2010       0.024109   0.359993   0.067 0.946604    
ORdate_year2011      -0.469331   0.351097  -1.337 0.181302    
ORdate_year2012      -1.201501   0.384098  -3.128 0.001759 ** 
ORdate_year2013       0.448130   0.824123   0.544 0.586603    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1629.3  on 1175  degrees of freedom
Residual deviance: 1477.4  on 1161  degrees of freedom
AIC: 1507.4

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.35913 
Standard error............: 0.073601 
Odds ratio (effect size)..: 1.432 
Lower 95% CI..............: 1.24 
Upper 95% CI..............: 1.654 
Z-value...................: 4.879394 
P-value...................: 1.064125e-06 
Hosmer and Lemeshow r^2...: 0.093216 
Cox and Snell r^2.........: 0.121156 
Nagelkerke's pseudo r^2...: 0.161586 
Sample size of AE DB......: 2423 
Sample size of model......: 1176 
Missing data %............: 51.46513 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
             2.88745              -0.29897              -0.02914              -0.28497              -0.15528               0.04587               0.23793               0.33696  
     ORdate_year2007       ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013       ORdate_year2014  
             0.08851               0.20027               0.48275               0.43851               0.25281              -0.72168               0.43697             -12.97963  

Degrees of Freedom: 1176 Total (i.e. Null);  1161 Residual
Null Deviance:      1470 
Residual Deviance: 1399     AIC: 1431

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0161  -1.2759   0.7239   0.8799   1.6956  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)            2.887452   0.588885   4.903 9.43e-07 ***
currentDF[, PROTEIN]  -0.298966   0.076712  -3.897 9.73e-05 ***
Age                   -0.029143   0.007357  -3.961 7.46e-05 ***
Gendermale            -0.284969   0.146439  -1.946   0.0517 .  
ORdate_year2003       -0.155276   0.360179  -0.431   0.6664    
ORdate_year2004        0.045872   0.353852   0.130   0.8969    
ORdate_year2005        0.237928   0.362557   0.656   0.5117    
ORdate_year2006        0.336956   0.361237   0.933   0.3509    
ORdate_year2007        0.088513   0.352134   0.251   0.8015    
ORdate_year2008        0.200272   0.374404   0.535   0.5927    
ORdate_year2009        0.482751   0.375790   1.285   0.1989    
ORdate_year2010        0.438508   0.382365   1.147   0.2515    
ORdate_year2011        0.252806   0.361521   0.699   0.4844    
ORdate_year2012       -0.721679   0.363665  -1.984   0.0472 *  
ORdate_year2013        0.436975   0.897699   0.487   0.6264    
ORdate_year2014      -12.979630 324.743837  -0.040   0.9681    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1470.1  on 1176  degrees of freedom
Residual deviance: 1399.3  on 1161  degrees of freedom
AIC: 1431.3

Number of Fisher Scoring iterations: 11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.298966 
Standard error............: 0.076712 
Odds ratio (effect size)..: 0.742 
Lower 95% CI..............: 0.638 
Upper 95% CI..............: 0.862 
Z-value...................: -3.897236 
P-value...................: 9.729663e-05 
Hosmer and Lemeshow r^2...: 0.048143 
Cox and Snell r^2.........: 0.058359 
Nagelkerke's pseudo r^2...: 0.081826 
Sample size of AE DB......: 2423 
Sample size of model......: 1177 
Missing data %............: 51.42386 

Analysis of MCP1_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN], 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]  
              0.3958               -0.1556  

Degrees of Freedom: 555 Total (i.e. Null);  554 Residual
Null Deviance:      749.7 
Residual Deviance: 746.5    AIC: 750.5

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7107  -1.2725   0.8729   1.0317   1.3256  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)  
(Intercept)          -0.61876    0.73578  -0.841   0.4004  
currentDF[, PROTEIN] -0.09477    0.09111  -1.040   0.2982  
Age                   0.01180    0.01018   1.159   0.2466  
Gendermale           -0.15457    0.19762  -0.782   0.4341  
ORdate_year2003       0.16108    0.30327   0.531   0.5953  
ORdate_year2004       0.29545    0.29583   0.999   0.3179  
ORdate_year2005       0.57055    0.29994   1.902   0.0571 .
ORdate_year2006       0.88014    0.51359   1.714   0.0866 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 749.67  on 555  degrees of freedom
Residual deviance: 738.03  on 548  degrees of freedom
AIC: 754.03

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.094774 
Standard error............: 0.09111 
Odds ratio (effect size)..: 0.91 
Lower 95% CI..............: 0.761 
Upper 95% CI..............: 1.087 
Z-value...................: -1.040222 
P-value...................: 0.2982367 
Hosmer and Lemeshow r^2...: 0.015523 
Cox and Snell r^2.........: 0.020712 
Nagelkerke's pseudo r^2...: 0.027977 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
              2.9537               -0.5215               -0.0224               -0.4793               -0.1316                1.2289                0.9631  

Degrees of Freedom: 553 Total (i.e. Null);  547 Residual
Null Deviance:      538 
Residual Deviance: 482  AIC: 496

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4949   0.2914   0.4681   0.7127   1.3286  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)    
(Intercept)           3.00203    0.99954   3.003  0.00267 ** 
currentDF[, PROTEIN] -0.51489    0.12280  -4.193 2.75e-05 ***
Age                  -0.02204    0.01373  -1.605  0.10856    
Gendermale           -0.10528    0.26559  -0.396  0.69182    
ORdate_year2003      -0.47617    0.35632  -1.336  0.18143    
ORdate_year2004      -0.12640    0.35921  -0.352  0.72492    
ORdate_year2005       1.22929    0.43550   2.823  0.00476 ** 
ORdate_year2006       0.97027    0.80820   1.201  0.22994    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 537.98  on 553  degrees of freedom
Residual deviance: 481.84  on 546  degrees of freedom
AIC: 497.84

Number of Fisher Scoring iterations: 5

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.514891 
Standard error............: 0.122802 
Odds ratio (effect size)..: 0.598 
Lower 95% CI..............: 0.47 
Upper 95% CI..............: 0.76 
Z-value...................: -4.192865 
P-value...................: 2.754532e-05 
Hosmer and Lemeshow r^2...: 0.104355 
Cox and Snell r^2.........: 0.096372 
Nagelkerke's pseudo r^2...: 0.155106 
Sample size of AE DB......: 2423 
Sample size of model......: 554 
Missing data %............: 77.13578 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale  
              1.2197                0.6668                0.5508  

Degrees of Freedom: 555 Total (i.e. Null);  553 Residual
Null Deviance:      538.8 
Residual Deviance: 497.2    AIC: 503.2

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5032   0.3550   0.5157   0.6553   1.3571  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)    
(Intercept)          0.441333   0.928439   0.475   0.6345    
currentDF[, PROTEIN] 0.701197   0.124587   5.628 1.82e-08 ***
Age                  0.004813   0.013029   0.369   0.7118    
Gendermale           0.520801   0.237908   2.189   0.0286 *  
ORdate_year2003      0.491261   0.397761   1.235   0.2168    
ORdate_year2004      0.560708   0.377282   1.486   0.1372    
ORdate_year2005      0.604522   0.380507   1.589   0.1121    
ORdate_year2006      0.442659   0.586387   0.755   0.4503    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 538.82  on 555  degrees of freedom
Residual deviance: 494.33  on 548  degrees of freedom
AIC: 510.33

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.701197 
Standard error............: 0.124587 
Odds ratio (effect size)..: 2.016 
Lower 95% CI..............: 1.579 
Upper 95% CI..............: 2.574 
Z-value...................: 5.628155 
P-value...................: 1.821478e-08 
Hosmer and Lemeshow r^2...: 0.082575 
Cox and Snell r^2.........: 0.076905 
Nagelkerke's pseudo r^2...: 0.123926 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
(Intercept)          Age   Gendermale  
   -0.76646      0.02073      0.78990  

Degrees of Freedom: 555 Total (i.e. Null);  553 Residual
Null Deviance:      611.8 
Residual Deviance: 594.4    AIC: 600.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9870   0.5461   0.6436   0.7295   1.2034  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -0.66569    0.83518  -0.797 0.425410    
currentDF[, PROTEIN]  0.06141    0.10472   0.586 0.557608    
Age                   0.02100    0.01164   1.804 0.071248 .  
Gendermale            0.78794    0.21294   3.700 0.000215 ***
ORdate_year2003      -0.19354    0.36389  -0.532 0.594826    
ORdate_year2004      -0.13588    0.35536  -0.382 0.702176    
ORdate_year2005      -0.03569    0.35873  -0.099 0.920744    
ORdate_year2006      -0.37398    0.54912  -0.681 0.495842    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 611.78  on 555  degrees of freedom
Residual deviance: 593.20  on 548  degrees of freedom
AIC: 609.2

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.06141 
Standard error............: 0.104725 
Odds ratio (effect size)..: 1.063 
Lower 95% CI..............: 0.866 
Upper 95% CI..............: 1.306 
Z-value...................: 0.586399 
P-value...................: 0.5576077 
Hosmer and Lemeshow r^2...: 0.030383 
Cox and Snell r^2.........: 0.032878 
Nagelkerke's pseudo r^2...: 0.049275 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006  
             -0.5059                0.3877                0.3286                0.2050                0.6318                1.0095                2.1690  

Degrees of Freedom: 551 Total (i.e. Null);  545 Residual
Null Deviance:      749.1 
Residual Deviance: 708.9    AIC: 722.9

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.1010  -1.1975   0.7712   1.0351   1.5450  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)    
(Intercept)           0.43956    0.75843   0.580 0.562212    
currentDF[, PROTEIN]  0.38092    0.09586   3.973 7.08e-05 ***
Age                  -0.01413    0.01047  -1.350 0.177052    
Gendermale            0.33873    0.19929   1.700 0.089181 .  
ORdate_year2003       0.18753    0.31633   0.593 0.553307    
ORdate_year2004       0.63249    0.31044   2.037 0.041607 *  
ORdate_year2005       1.02147    0.31570   3.236 0.001214 ** 
ORdate_year2006       2.19183    0.61695   3.553 0.000381 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 749.15  on 551  degrees of freedom
Residual deviance: 707.06  on 544  degrees of freedom
AIC: 723.06

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.380917 
Standard error............: 0.095865 
Odds ratio (effect size)..: 1.464 
Lower 95% CI..............: 1.213 
Upper 95% CI..............: 1.766 
Z-value...................: 3.97348 
P-value...................: 7.083006e-05 
Hosmer and Lemeshow r^2...: 0.056181 
Cox and Snell r^2.........: 0.073412 
Nagelkerke's pseudo r^2...: 0.098856 
Sample size of AE DB......: 2423 
Sample size of model......: 552 
Missing data %............: 77.21832 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale  
             3.88576              -0.48364              -0.03704              -0.58286  

Degrees of Freedom: 552 Total (i.e. Null);  549 Residual
Null Deviance:      667.1 
Residual Deviance: 626  AIC: 634

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.1783  -1.2106   0.6522   0.8369   1.4797  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)    
(Intercept)           3.92710    0.87828   4.471 7.77e-06 ***
currentDF[, PROTEIN] -0.44223    0.10574  -4.182 2.89e-05 ***
Age                  -0.03968    0.01189  -3.336 0.000849 ***
Gendermale           -0.59332    0.23415  -2.534 0.011280 *  
ORdate_year2003      -0.12565    0.33463  -0.375 0.707293    
ORdate_year2004       0.15887    0.33132   0.480 0.631575    
ORdate_year2005       0.33894    0.33593   1.009 0.312998    
ORdate_year2006       0.65902    0.58890   1.119 0.263111    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 667.10  on 552  degrees of freedom
Residual deviance: 621.78  on 545  degrees of freedom
AIC: 637.78

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.442231 
Standard error............: 0.105738 
Odds ratio (effect size)..: 0.643 
Lower 95% CI..............: 0.522 
Upper 95% CI..............: 0.791 
Z-value...................: -4.182321 
P-value...................: 2.885487e-05 
Hosmer and Lemeshow r^2...: 0.067942 
Cox and Snell r^2.........: 0.078692 
Nagelkerke's pseudo r^2...: 0.112303 
Sample size of AE DB......: 2423 
Sample size of model......: 553 
Missing data %............: 77.17705 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Uni.Protein.PlaquePhenotypes.RANK.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Uni.PlaquePheno")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Model 2

In this model we correct for Age, Gender, year of surgery, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Quantitative plaque traits

Analysis of continuous/quantitative plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.CON.RANK)) {
    TRAIT = TRAITS.CON.RANK[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year + 
                Hypertension.composite + DiabetesStatus + SmokerStatus + 
                Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                MedHx_CVD + stenose, 
              data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006            ORdate_year2007  
                 0.571302                   0.078133                  -0.118396                  -0.771998                  -0.976042                  -0.659333                  -0.280396  
          ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  Hypertension.compositeyes  
                -0.027688                   0.001793                   0.360498                   0.281881                   0.195132                   0.255570                  -0.195092  
        Med.Statin.LLDyes  
                -0.178177  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1576 -0.6055 -0.0077  0.5480  3.1718 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.8605008  0.5662381   1.520  0.12891    
currentDF[, TRAIT]         0.0714488  0.0322866   2.213  0.02713 *  
Age                       -0.0047941  0.0036193  -1.325  0.18561    
Gendermale                 0.0892693  0.0644981   1.384  0.16665    
ORdate_year2003           -0.1402507  0.1573634  -0.891  0.37301    
ORdate_year2004           -0.7832333  0.1505252  -5.203 2.38e-07 ***
ORdate_year2005           -0.9877556  0.1535482  -6.433 1.95e-10 ***
ORdate_year2006           -0.6684926  0.1563144  -4.277 2.08e-05 ***
ORdate_year2007           -0.2956370  0.1591219  -1.858  0.06348 .  
ORdate_year2008           -0.0430340  0.1686538  -0.255  0.79865    
ORdate_year2009           -0.0020761  0.1626983  -0.013  0.98982    
ORdate_year2010            0.3600827  0.1654955   2.176  0.02981 *  
ORdate_year2011            0.2837055  0.1629079   1.742  0.08190 .  
ORdate_year2012            0.2214491  0.1765169   1.255  0.20994    
ORdate_year2013            0.4549845  0.6171648   0.737  0.46116    
Hypertension.compositeyes -0.1993553  0.0881356  -2.262  0.02392 *  
DiabetesStatusDiabetes     0.0036775  0.0706538   0.052  0.95850    
SmokerStatusEx-smoker     -0.0176436  0.0665778  -0.265  0.79106    
SmokerStatusNever smoked   0.1526914  0.0943213   1.619  0.10580    
Med.Statin.LLDyes         -0.1855879  0.0714528  -2.597  0.00953 ** 
Med.all.antiplateletyes   -0.0370170  0.0992669  -0.373  0.70930    
GFR_MDRD                  -0.0008922  0.0015464  -0.577  0.56410    
BMI                       -0.0031435  0.0080516  -0.390  0.69631    
MedHx_CVDyes              -0.0129803  0.0607599  -0.214  0.83088    
stenose50-70%              0.0950319  0.3946953   0.241  0.80978    
stenose70-90%              0.1776413  0.3789758   0.469  0.63936    
stenose90-99%              0.1794213  0.3789767   0.473  0.63601    
stenose100% (Occlusion)   -0.1705767  0.4865559  -0.351  0.72598    
stenose50-99%             -0.0423183  0.6003672  -0.070  0.94382    
stenose70-99%             -0.1535183  0.5736901  -0.268  0.78906    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9118 on 991 degrees of freedom
Multiple R-squared:  0.1996,    Adjusted R-squared:  0.1762 
F-statistic: 8.524 on 29 and 991 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.071449 
Standard error............: 0.032287 
Odds ratio (effect size)..: 1.074 
Lower 95% CI..............: 1.008 
Upper 95% CI..............: 1.144 
T-value...................: 2.212951 
P-value...................: 0.02712827 
R^2.......................: 0.199643 
Adjusted r^2..............: 0.176221 
Sample size of AE DB......: 2423 
Sample size of model......: 1021 
Missing data %............: 57.86215 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                 0.998989                  -0.082841                  -0.005194                  -0.195467                  -0.885791                  -1.045367                  -0.644912  
          ORdate_year2007            ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  
                -0.284799                  -0.114170                  -0.095530                   0.195915                   0.121543                   0.044567                   0.160029  
Hypertension.compositeyes          Med.Statin.LLDyes  
                -0.178391                  -0.181218  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0462 -0.6138  0.0012  0.5487  3.2134 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.0195642  0.5692342   1.791   0.0736 .  
currentDF[, TRAIT]        -0.0736531  0.0324488  -2.270   0.0234 *  
Age                       -0.0066320  0.0036519  -1.816   0.0697 .  
Gendermale                 0.0750529  0.0655997   1.144   0.2529    
ORdate_year2003           -0.2036133  0.1591785  -1.279   0.2011    
ORdate_year2004           -0.8868077  0.1536475  -5.772 1.05e-08 ***
ORdate_year2005           -1.0504518  0.1564695  -6.713 3.20e-11 ***
ORdate_year2006           -0.6586053  0.1562597  -4.215 2.73e-05 ***
ORdate_year2007           -0.3055708  0.1596241  -1.914   0.0559 .  
ORdate_year2008           -0.1261514  0.1707578  -0.739   0.4602    
ORdate_year2009           -0.0957263  0.1653406  -0.579   0.5627    
ORdate_year2010            0.2027124  0.1682666   1.205   0.2286    
ORdate_year2011            0.1293405  0.1644857   0.786   0.4319    
ORdate_year2012            0.0736212  0.1781320   0.413   0.6795    
ORdate_year2013            0.3183372  0.6184788   0.515   0.6069    
Hypertension.compositeyes -0.1908082  0.0883576  -2.159   0.0311 *  
DiabetesStatusDiabetes     0.0001618  0.0707683   0.002   0.9982    
SmokerStatusEx-smoker     -0.0132394  0.0668110  -0.198   0.8430    
SmokerStatusNever smoked   0.1459261  0.0946233   1.542   0.1234    
Med.Statin.LLDyes         -0.1792528  0.0716336  -2.502   0.0125 *  
Med.all.antiplateletyes   -0.0435610  0.0994533  -0.438   0.6615    
GFR_MDRD                  -0.0007295  0.0015518  -0.470   0.6384    
BMI                       -0.0033816  0.0080771  -0.419   0.6756    
MedHx_CVDyes              -0.0085009  0.0609110  -0.140   0.8890    
stenose50-70%              0.1377847  0.3954829   0.348   0.7276    
stenose70-90%              0.2197527  0.3796531   0.579   0.5628    
stenose90-99%              0.2207388  0.3797433   0.581   0.5612    
stenose100% (Occlusion)   -0.1650645  0.4873011  -0.339   0.7349    
stenose50-99%              0.0538033  0.6016966   0.089   0.9288    
stenose70-99%             -0.0483338  0.5746272  -0.084   0.9330    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9131 on 987 degrees of freedom
Multiple R-squared:  0.1999,    Adjusted R-squared:  0.1764 
F-statistic: 8.503 on 29 and 987 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.073653 
Standard error............: 0.032449 
Odds ratio (effect size)..: 0.929 
Lower 95% CI..............: 0.872 
Upper 95% CI..............: 0.99 
T-value...................: -2.269821 
P-value...................: 0.02343342 
R^2.......................: 0.199901 
Adjusted r^2..............: 0.176393 
Sample size of AE DB......: 2423 
Sample size of model......: 1017 
Missing data %............: 58.02724 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006            ORdate_year2007  
                  0.60939                   -0.05724                   -0.14049                   -0.81904                   -0.99237                   -0.64200                   -0.28490  
          ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  Hypertension.compositeyes  
                 -0.07093                   -0.12584                    0.25454                    0.15669                    0.06899                    0.15108                   -0.18103  
        Med.Statin.LLDyes  
                 -0.17248  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0717 -0.6390 -0.0009  0.5507  3.2045 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.916784   0.604167   1.517   0.1295    
currentDF[, TRAIT]        -0.057078   0.031633  -1.804   0.0715 .  
Age                       -0.004631   0.003778  -1.226   0.2206    
Gendermale                 0.113919   0.067303   1.693   0.0909 .  
ORdate_year2003           -0.158897   0.162113  -0.980   0.3273    
ORdate_year2004           -0.827564   0.153991  -5.374 9.75e-08 ***
ORdate_year2005           -1.005432   0.158303  -6.351 3.35e-10 ***
ORdate_year2006           -0.654848   0.160138  -4.089 4.70e-05 ***
ORdate_year2007           -0.299091   0.166598  -1.795   0.0729 .  
ORdate_year2008           -0.085881   0.176736  -0.486   0.6271    
ORdate_year2009           -0.128679   0.170067  -0.757   0.4495    
ORdate_year2010            0.256588   0.170948   1.501   0.1337    
ORdate_year2011            0.162512   0.167120   0.972   0.3311    
ORdate_year2012            0.081555   0.182961   0.446   0.6559    
ORdate_year2013            0.547786   0.671319   0.816   0.4147    
Hypertension.compositeyes -0.192092   0.092221  -2.083   0.0375 *  
DiabetesStatusDiabetes    -0.003273   0.075664  -0.043   0.9655    
SmokerStatusEx-smoker     -0.016265   0.069837  -0.233   0.8159    
SmokerStatusNever smoked   0.155670   0.098792   1.576   0.1154    
Med.Statin.LLDyes         -0.178429   0.074077  -2.409   0.0162 *  
Med.all.antiplateletyes   -0.024698   0.105698  -0.234   0.8153    
GFR_MDRD                  -0.001080   0.001631  -0.663   0.5078    
BMI                       -0.002124   0.008423  -0.252   0.8009    
MedHx_CVDyes              -0.014189   0.063545  -0.223   0.8234    
stenose50-70%              0.033108   0.436263   0.076   0.9395    
stenose70-90%              0.116802   0.419514   0.278   0.7807    
stenose90-99%              0.108512   0.419068   0.259   0.7957    
stenose100% (Occlusion)   -0.283483   0.520604  -0.545   0.5862    
stenose50-99%              0.011439   0.630629   0.018   0.9855    
stenose70-99%             -0.516537   0.705916  -0.732   0.4645    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9223 on 923 degrees of freedom
Multiple R-squared:    0.2, Adjusted R-squared:  0.1749 
F-statistic: 7.957 on 29 and 923 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.057078 
Standard error............: 0.031633 
Odds ratio (effect size)..: 0.945 
Lower 95% CI..............: 0.888 
Upper 95% CI..............: 1.005 
T-value...................: -1.804375 
P-value...................: 0.07149835 
R^2.......................: 0.199996 
Adjusted r^2..............: 0.174861 
Sample size of AE DB......: 2423 
Sample size of model......: 953 
Missing data %............: 60.66859 

Analysis of MCP1_pg_ml_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                  0.05751                    0.08555                    0.30162                   -0.17288                   -0.67562                   -0.69578                   -0.20651  
          ORdate_year2007            ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  
                 -0.08387                    0.35081                    0.38963                    0.52372                    0.67614                    0.54124                    0.96232  
Hypertension.compositeyes          Med.Statin.LLDyes  
                 -0.13378                   -0.18835  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.81361 -0.56013 -0.00965  0.57520  3.03672 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.521e-01  5.416e-01   0.281 0.778893    
currentDF[, TRAIT]         8.702e-02  3.088e-02   2.818 0.004935 ** 
Age                        2.581e-03  3.462e-03   0.746 0.456057    
Gendermale                 3.238e-01  6.169e-02   5.248 1.88e-07 ***
ORdate_year2003           -1.795e-01  1.505e-01  -1.192 0.233381    
ORdate_year2004           -6.759e-01  1.440e-01  -4.695 3.05e-06 ***
ORdate_year2005           -7.101e-01  1.469e-01  -4.835 1.55e-06 ***
ORdate_year2006           -2.257e-01  1.495e-01  -1.510 0.131409    
ORdate_year2007           -1.094e-01  1.522e-01  -0.719 0.472314    
ORdate_year2008            3.269e-01  1.613e-01   2.027 0.042968 *  
ORdate_year2009            3.858e-01  1.556e-01   2.479 0.013350 *  
ORdate_year2010            5.094e-01  1.583e-01   3.218 0.001333 ** 
ORdate_year2011            6.667e-01  1.558e-01   4.278 2.07e-05 ***
ORdate_year2012            5.646e-01  1.688e-01   3.344 0.000858 ***
ORdate_year2013            1.209e+00  5.903e-01   2.048 0.040806 *  
Hypertension.compositeyes -1.405e-01  8.430e-02  -1.666 0.096014 .  
DiabetesStatusDiabetes    -5.254e-03  6.758e-02  -0.078 0.938043    
SmokerStatusEx-smoker     -4.518e-02  6.368e-02  -0.709 0.478244    
SmokerStatusNever smoked   5.872e-02  9.022e-02   0.651 0.515292    
Med.Statin.LLDyes         -1.814e-01  6.835e-02  -2.655 0.008063 ** 
Med.all.antiplateletyes    3.637e-02  9.495e-02   0.383 0.701785    
GFR_MDRD                  -2.493e-05  1.479e-03  -0.017 0.986556    
BMI                       -3.909e-03  7.702e-03  -0.508 0.611907    
MedHx_CVDyes              -2.267e-02  5.812e-02  -0.390 0.696530    
stenose50-70%             -3.105e-01  3.775e-01  -0.823 0.410977    
stenose70-90%             -1.469e-01  3.625e-01  -0.405 0.685484    
stenose90-99%             -1.803e-01  3.625e-01  -0.497 0.619126    
stenose100% (Occlusion)   -3.730e-01  4.654e-01  -0.801 0.423069    
stenose50-99%             -4.982e-01  5.743e-01  -0.867 0.385900    
stenose70-99%             -5.429e-01  5.487e-01  -0.989 0.322699    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8721 on 991 degrees of freedom
Multiple R-squared:  0.2516,    Adjusted R-squared:  0.2297 
F-statistic: 11.49 on 29 and 991 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.087015 
Standard error............: 0.030883 
Odds ratio (effect size)..: 1.091 
Lower 95% CI..............: 1.027 
Upper 95% CI..............: 1.159 
T-value...................: 2.817586 
P-value...................: 0.004934803 
R^2.......................: 0.251598 
Adjusted r^2..............: 0.229697 
Sample size of AE DB......: 2423 
Sample size of model......: 1021 
Missing data %............: 57.86215 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.2160                    -0.1478                     0.2664                    -0.2867                    -0.8629                    -0.8287                    -0.2167  
          ORdate_year2007            ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  
                  -0.1274                     0.1895                     0.2146                     0.2497                     0.4088                     0.3008                     0.7825  
Hypertension.compositeyes          Med.Statin.LLDyes  
                  -0.1333                    -0.1697  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.74231 -0.54954 -0.01639  0.57832  3.04631 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.4361613  0.5402879   0.807  0.41970    
currentDF[, TRAIT]        -0.1450187  0.0307988  -4.709 2.85e-06 ***
Age                       -0.0004735  0.0034662  -0.137  0.89137    
Gendermale                 0.2859822  0.0622638   4.593 4.93e-06 ***
ORdate_year2003           -0.2963179  0.1510841  -1.961  0.05013 .  
ORdate_year2004           -0.8582826  0.1458343  -5.885 5.44e-09 ***
ORdate_year2005           -0.8363289  0.1485128  -5.631 2.33e-08 ***
ORdate_year2006           -0.2280818  0.1483137  -1.538  0.12441    
ORdate_year2007           -0.1411287  0.1515070  -0.931  0.35182    
ORdate_year2008            0.1793360  0.1620745   1.107  0.26878    
ORdate_year2009            0.2199681  0.1569328   1.402  0.16133    
ORdate_year2010            0.2475414  0.1597100   1.550  0.12148    
ORdate_year2011            0.4137207  0.1561214   2.650  0.00818 ** 
ORdate_year2012            0.3274651  0.1690737   1.937  0.05305 .  
ORdate_year2013            0.9859325  0.5870283   1.680  0.09336 .  
Hypertension.compositeyes -0.1265208  0.0838645  -1.509  0.13171    
DiabetesStatusDiabetes    -0.0062101  0.0671696  -0.092  0.92636    
SmokerStatusEx-smoker     -0.0407440  0.0634135  -0.643  0.52069    
SmokerStatusNever smoked   0.0389968  0.0898115   0.434  0.66423    
Med.Statin.LLDyes         -0.1711426  0.0679909  -2.517  0.01199 *  
Med.all.antiplateletyes    0.0232340  0.0943960   0.246  0.80563    
GFR_MDRD                   0.0003061  0.0014729   0.208  0.83538    
BMI                       -0.0044116  0.0076664  -0.575  0.56512    
MedHx_CVDyes              -0.0192489  0.0578136  -0.333  0.73924    
stenose50-70%             -0.2340854  0.3753720  -0.624  0.53303    
stenose70-90%             -0.0762249  0.3603472  -0.212  0.83252    
stenose90-99%             -0.1053537  0.3604328  -0.292  0.77012    
stenose100% (Occlusion)   -0.3448768  0.4625211  -0.746  0.45606    
stenose50-99%             -0.3404183  0.5710995  -0.596  0.55126    
stenose70-99%             -0.3770504  0.5454066  -0.691  0.48953    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8666 on 987 degrees of freedom
Multiple R-squared:  0.2617,    Adjusted R-squared:   0.24 
F-statistic: 12.06 on 29 and 987 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.145019 
Standard error............: 0.030799 
Odds ratio (effect size)..: 0.865 
Lower 95% CI..............: 0.814 
Upper 95% CI..............: 0.919 
T-value...................: -4.708586 
P-value...................: 2.850934e-06 
R^2.......................: 0.261683 
Adjusted r^2..............: 0.23999 
Sample size of AE DB......: 2423 
Sample size of model......: 1017 
Missing data %............: 58.02724 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                  0.09111                   -0.04559                    0.31468                   -0.20102                   -0.72256                   -0.70360                   -0.18099  
          ORdate_year2007            ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  
                 -0.09677                    0.32031                    0.27294                    0.36129                    0.55395                    0.40912                    0.87216  
Hypertension.compositeyes          Med.Statin.LLDyes  
                 -0.12511                   -0.18896  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.71018 -0.56067 -0.00106  0.54787  3.14928 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.1982784  0.5784680   0.343 0.731853    
currentDF[, TRAIT]        -0.0476932  0.0302878  -1.575 0.115675    
Age                        0.0024230  0.0036174   0.670 0.503137    
Gendermale                 0.3351086  0.0644399   5.200 2.45e-07 ***
ORdate_year2003           -0.2036561  0.1552174  -1.312 0.189823    
ORdate_year2004           -0.7157084  0.1474413  -4.854 1.42e-06 ***
ORdate_year2005           -0.7109880  0.1515690  -4.691 3.13e-06 ***
ORdate_year2006           -0.1937282  0.1533260  -1.264 0.206727    
ORdate_year2007           -0.1127757  0.1595118  -0.707 0.479742    
ORdate_year2008            0.3081827  0.1692189   1.821 0.068899 .  
ORdate_year2009            0.2749185  0.1628333   1.688 0.091683 .  
ORdate_year2010            0.3438151  0.1636768   2.101 0.035949 *  
ORdate_year2011            0.5531725  0.1600117   3.457 0.000571 ***
ORdate_year2012            0.4281871  0.1751791   2.444 0.014700 *  
ORdate_year2013            1.3706779  0.6427637   2.132 0.033231 *  
Hypertension.compositeyes -0.1388259  0.0882982  -1.572 0.116238    
DiabetesStatusDiabetes    -0.0176177  0.0724453  -0.243 0.807915    
SmokerStatusEx-smoker     -0.0372387  0.0668667  -0.557 0.577725    
SmokerStatusNever smoked   0.0394769  0.0945897   0.417 0.676521    
Med.Statin.LLDyes         -0.1865186  0.0709258  -2.630 0.008686 ** 
Med.all.antiplateletyes    0.0562512  0.1012018   0.556 0.578461    
GFR_MDRD                  -0.0001144  0.0015613  -0.073 0.941608    
BMI                       -0.0014019  0.0080645  -0.174 0.862030    
MedHx_CVDyes              -0.0043239  0.0608421  -0.071 0.943359    
stenose50-70%             -0.4284908  0.4177068  -1.026 0.305247    
stenose70-90%             -0.2212811  0.4016695  -0.551 0.581833    
stenose90-99%             -0.2698431  0.4012431  -0.673 0.501423    
stenose100% (Occlusion)   -0.5034116  0.4984594  -1.010 0.312791    
stenose50-99%             -0.4677575  0.6038047  -0.775 0.438725    
stenose70-99%             -1.0125141  0.6758899  -1.498 0.134463    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8831 on 923 degrees of freedom
Multiple R-squared:  0.2438,    Adjusted R-squared:  0.2201 
F-statistic: 10.26 on 29 and 923 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.047693 
Standard error............: 0.030288 
Odds ratio (effect size)..: 0.953 
Lower 95% CI..............: 0.898 
Upper 95% CI..............: 1.012 
T-value...................: -1.574671 
P-value...................: 0.1156752 
R^2.......................: 0.243832 
Adjusted r^2..............: 0.220074 
Sample size of AE DB......: 2423 
Sample size of model......: 953 
Missing data %............: 60.66859 

Analysis of MCP1_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.3979                     0.1008                     0.2859                    -0.1474                    -0.5018                    -0.5602                    -1.0479  
Hypertension.compositeyes  
                  -0.2376  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3562 -0.5959  0.0149  0.6483  2.5981 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.4821645  0.8514070   1.741 0.082358 .  
currentDF[, TRAIT]         0.0971796  0.0418936   2.320 0.020781 *  
Age                       -0.0091883  0.0057819  -1.589 0.112691    
Gendermale                 0.3074252  0.1006537   3.054 0.002382 ** 
ORdate_year2003           -0.1601588  0.1529437  -1.047 0.295550    
ORdate_year2004           -0.4754971  0.1487139  -3.197 0.001479 ** 
ORdate_year2005           -0.5411177  0.1503567  -3.599 0.000353 ***
ORdate_year2006           -0.9814467  0.2510957  -3.909 0.000106 ***
Hypertension.compositeyes -0.2381638  0.1336676  -1.782 0.075426 .  
DiabetesStatusDiabetes    -0.0739786  0.1125393  -0.657 0.511269    
SmokerStatusEx-smoker      0.0903938  0.1000648   0.903 0.366796    
SmokerStatusNever smoked   0.2636848  0.1478240   1.784 0.075097 .  
Med.Statin.LLDyes         -0.1427243  0.1038325  -1.375 0.169914    
Med.all.antiplateletyes    0.1359664  0.1588797   0.856 0.392549    
GFR_MDRD                  -0.0005251  0.0025052  -0.210 0.834069    
BMI                       -0.0120999  0.0119227  -1.015 0.310689    
MedHx_CVDyes               0.0196800  0.0937526   0.210 0.833824    
stenose50-70%             -0.3794169  0.6208752  -0.611 0.541425    
stenose70-90%             -0.2357040  0.5757624  -0.409 0.682447    
stenose90-99%             -0.2104738  0.5745091  -0.366 0.714264    
stenose100% (Occlusion)   -0.8999190  0.7285330  -1.235 0.217348    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9732 on 476 degrees of freedom
Multiple R-squared:  0.1149,    Adjusted R-squared:  0.07774 
F-statistic:  3.09 on 20 and 476 DF,  p-value: 9.477e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.09718 
Standard error............: 0.041894 
Odds ratio (effect size)..: 1.102 
Lower 95% CI..............: 1.015 
Upper 95% CI..............: 1.196 
T-value...................: 2.319675 
P-value...................: 0.02078069 
R^2.......................: 0.114927 
Adjusted r^2..............: 0.077739 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005  
                  1.41460                   -0.24916                   -0.01152                    0.23861                   -0.34985                   -0.81202                   -0.77810  
          ORdate_year2006  Hypertension.compositeyes  
                 -1.11511                   -0.19628  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.10475 -0.60146 -0.00887  0.65289  2.65311 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.1619269  0.8293428   2.607  0.00943 ** 
currentDF[, TRAIT]        -0.2530307  0.0438266  -5.773 1.41e-08 ***
Age                       -0.0155143  0.0056781  -2.732  0.00652 ** 
Gendermale                 0.2435318  0.0985604   2.471  0.01383 *  
ORdate_year2003           -0.3518833  0.1506015  -2.337  0.01988 *  
ORdate_year2004           -0.7957806  0.1495069  -5.323 1.58e-07 ***
ORdate_year2005           -0.7680174  0.1496904  -5.131 4.22e-07 ***
ORdate_year2006           -1.0714294  0.2435906  -4.398 1.35e-05 ***
Hypertension.compositeyes -0.2019451  0.1285130  -1.571  0.11676    
DiabetesStatusDiabetes    -0.0753820  0.1090043  -0.692  0.48956    
SmokerStatusEx-smoker      0.1253294  0.0968709   1.294  0.19637    
SmokerStatusNever smoked   0.2412122  0.1428876   1.688  0.09204 .  
Med.Statin.LLDyes         -0.1362649  0.1008245  -1.352  0.17718    
Med.all.antiplateletyes    0.1162991  0.1538168   0.756  0.44997    
GFR_MDRD                  -0.0005452  0.0024244  -0.225  0.82216    
BMI                       -0.0109956  0.0115294  -0.954  0.34072    
MedHx_CVDyes               0.0229221  0.0910101   0.252  0.80126    
stenose50-70%             -0.2765773  0.6012858  -0.460  0.64574    
stenose70-90%             -0.2447519  0.5573641  -0.439  0.66077    
stenose90-99%             -0.2483737  0.5558975  -0.447  0.65523    
stenose100% (Occlusion)   -1.0468909  0.7050939  -1.485  0.13827    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.942 on 474 degrees of freedom
Multiple R-squared:  0.1641,    Adjusted R-squared:  0.1288 
F-statistic: 4.653 on 20 and 474 DF,  p-value: 2.953e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.253031 
Standard error............: 0.043827 
Odds ratio (effect size)..: 0.776 
Lower 95% CI..............: 0.713 
Upper 95% CI..............: 0.846 
T-value...................: -5.773444 
P-value...................: 1.405968e-08 
R^2.......................: 0.164109 
Adjusted r^2..............: 0.128839 
Sample size of AE DB......: 2423 
Sample size of model......: 495 
Missing data %............: 79.57078 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.2627           0.3159          -0.1958          -0.6161          -0.6257          -1.0273  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3536 -0.6182 -0.0129  0.6137  2.5073 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.4236511  0.8578719   1.660 0.097685 .  
currentDF[, TRAIT]        -0.0428541  0.0551328  -0.777 0.437383    
Age                       -0.0095064  0.0058671  -1.620 0.105844    
Gendermale                 0.3344393  0.1017990   3.285 0.001096 ** 
ORdate_year2003           -0.2193136  0.1555980  -1.409 0.159358    
ORdate_year2004           -0.5681802  0.1507496  -3.769 0.000185 ***
ORdate_year2005           -0.5879279  0.1545027  -3.805 0.000161 ***
ORdate_year2006           -0.9626971  0.2578178  -3.734 0.000212 ***
Hypertension.compositeyes -0.1676466  0.1359507  -1.233 0.218144    
DiabetesStatusDiabetes    -0.0381932  0.1148173  -0.333 0.739553    
SmokerStatusEx-smoker      0.0991641  0.1015252   0.977 0.329203    
SmokerStatusNever smoked   0.2648466  0.1497335   1.769 0.077584 .  
Med.Statin.LLDyes         -0.1438781  0.1053398  -1.366 0.172646    
Med.all.antiplateletyes    0.1375951  0.1616640   0.851 0.395141    
GFR_MDRD                   0.0002032  0.0025703   0.079 0.937019    
BMI                       -0.0103943  0.0120946  -0.859 0.390553    
MedHx_CVDyes               0.0335497  0.0952761   0.352 0.724899    
stenose50-70%             -0.4598005  0.6231621  -0.738 0.460977    
stenose70-90%             -0.2515519  0.5782964  -0.435 0.663773    
stenose90-99%             -0.2452452  0.5769675  -0.425 0.670990    
stenose100% (Occlusion)   -0.9637052  0.7316084  -1.317 0.188405    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.977 on 466 degrees of freedom
Multiple R-squared:  0.1095,    Adjusted R-squared:  0.07127 
F-statistic: 2.865 on 20 and 466 DF,  p-value: 4.012e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.042854 
Standard error............: 0.055133 
Odds ratio (effect size)..: 0.958 
Lower 95% CI..............: 0.86 
Upper 95% CI..............: 1.067 
T-value...................: -0.777288 
P-value...................: 0.4373834 
R^2.......................: 0.10949 
Adjusted r^2..............: 0.071271 
Sample size of AE DB......: 2423 
Sample size of model......: 487 
Missing data %............: 79.90095 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Multi.Protein.PlaquePhenotypes.RANK.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Binary plaque traits

Analysis of binary plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.BIN)) {
    TRAIT = TRAITS.BIN[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate
    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + 
                Hypertension.composite + DiabetesStatus + SmokerStatus + 
                Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                MedHx_CVD + stenose, 
              data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year + DiabetesStatus + SmokerStatus + BMI, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006  
                -2.38108                  -0.28459                   0.02949                   0.15193                   0.24414                   0.59237                   0.62402  
         ORdate_year2007           ORdate_year2008           ORdate_year2009           ORdate_year2010           ORdate_year2011           ORdate_year2012           ORdate_year2013  
                 0.18675                   0.12180                  -0.16390                  -1.04042                  -1.42426                  -0.94357                  -1.40585  
  DiabetesStatusDiabetes     SmokerStatusEx-smoker  SmokerStatusNever smoked                       BMI  
                -0.26016                  -0.47452                  -0.58405                   0.02740  

Degrees of Freedom: 1025 Total (i.e. Null);  1008 Residual
Null Deviance:      1420 
Residual Deviance: 1269     AIC: 1305

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8667  -1.0558  -0.5198   1.0389   2.2630  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -2.287e+00  1.395e+00  -1.640 0.101082    
currentDF[, PROTEIN]      -2.777e-01  7.499e-02  -3.704 0.000213 ***
Age                        2.820e-02  8.785e-03   3.210 0.001327 ** 
Gendermale                -1.213e-01  1.528e-01  -0.794 0.427040    
ORdate_year2003            2.010e-01  3.532e-01   0.569 0.569319    
ORdate_year2004            2.985e-01  3.431e-01   0.870 0.384305    
ORdate_year2005            6.538e-01  3.593e-01   1.820 0.068769 .  
ORdate_year2006            6.897e-01  3.597e-01   1.917 0.055193 .  
ORdate_year2007            2.667e-01  3.588e-01   0.743 0.457270    
ORdate_year2008            1.814e-01  3.794e-01   0.478 0.632561    
ORdate_year2009           -3.800e-02  3.654e-01  -0.104 0.917165    
ORdate_year2010           -9.539e-01  3.906e-01  -2.442 0.014592 *  
ORdate_year2011           -1.335e+00  3.955e-01  -3.375 0.000739 ***
ORdate_year2012           -7.397e-01  4.071e-01  -1.817 0.069232 .  
ORdate_year2013           -1.336e+00  1.241e+00  -1.077 0.281691    
Hypertension.compositeyes  2.762e-01  2.101e-01   1.314 0.188686    
DiabetesStatusDiabetes    -2.573e-01  1.686e-01  -1.526 0.127012    
SmokerStatusEx-smoker     -4.538e-01  1.590e-01  -2.854 0.004321 ** 
SmokerStatusNever smoked  -6.077e-01  2.251e-01  -2.699 0.006948 ** 
Med.Statin.LLDyes         -6.916e-02  1.684e-01  -0.411 0.681346    
Med.all.antiplateletyes   -1.364e-02  2.356e-01  -0.058 0.953846    
GFR_MDRD                   8.597e-04  3.713e-03   0.232 0.816884    
BMI                        2.561e-02  1.922e-02   1.333 0.182638    
MedHx_CVDyes               2.562e-02  1.432e-01   0.179 0.858023    
stenose50-70%             -6.395e-01  1.006e+00  -0.636 0.525010    
stenose70-90%             -2.342e-01  9.658e-01  -0.243 0.808369    
stenose90-99%             -1.380e-01  9.661e-01  -0.143 0.886446    
stenose100% (Occlusion)    9.672e-01  1.295e+00   0.747 0.455139    
stenose50-99%             -1.402e+01  4.264e+02  -0.033 0.973768    
stenose70-99%             -1.791e-01  1.371e+00  -0.131 0.896086    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1420.3  on 1025  degrees of freedom
Residual deviance: 1258.6  on  996  degrees of freedom
AIC: 1318.6

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.27771 
Standard error............: 0.074985 
Odds ratio (effect size)..: 0.758 
Lower 95% CI..............: 0.654 
Upper 95% CI..............: 0.877 
Z-value...................: -3.703527 
P-value...................: 0.0002126226 
Hosmer and Lemeshow r^2...: 0.113835 
Cox and Snell r^2.........: 0.145791 
Nagelkerke's pseudo r^2...: 0.194518 
Sample size of AE DB......: 2423 
Sample size of model......: 1026 
Missing data %............: 57.6558 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + SmokerStatus + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006           ORdate_year2007  
                 0.34659                  -0.17487                  -0.43906                  -0.01311                   1.22116                   1.04284                  -0.29089  
         ORdate_year2008           ORdate_year2009           ORdate_year2010           ORdate_year2011           ORdate_year2012           ORdate_year2013     SmokerStatusEx-smoker  
                 0.56421                  -0.29663                   0.35290                   0.07619                   0.47573                  -0.43502                  -0.41295  
SmokerStatusNever smoked                       BMI              MedHx_CVDyes  
                -0.73011                   0.03828                   0.26765  

Degrees of Freedom: 1026 Total (i.e. Null);  1010 Residual
Null Deviance:      1049 
Residual Deviance: 986.1    AIC: 1020

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3728   0.3300   0.5831   0.7329   1.2326  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                1.356e+01  9.053e+02   0.015 0.988052    
currentDF[, PROTEIN]      -1.534e-01  8.950e-02  -1.714 0.086546 .  
Age                        1.384e-02  1.017e-02   1.362 0.173354    
Gendermale                -7.545e-02  1.808e-01  -0.417 0.676429    
ORdate_year2003           -3.352e-01  4.040e-01  -0.830 0.406650    
ORdate_year2004            2.685e-02  4.066e-01   0.066 0.947338    
ORdate_year2005            1.275e+00  4.957e-01   2.572 0.010107 *  
ORdate_year2006            1.104e+00  4.823e-01   2.289 0.022099 *  
ORdate_year2007           -2.835e-01  4.121e-01  -0.688 0.491592    
ORdate_year2008            5.413e-01  4.714e-01   1.148 0.250854    
ORdate_year2009           -3.296e-01  4.161e-01  -0.792 0.428187    
ORdate_year2010            3.196e-01  4.426e-01   0.722 0.470284    
ORdate_year2011            8.227e-03  4.212e-01   0.020 0.984418    
ORdate_year2012            3.376e-01  4.724e-01   0.715 0.474827    
ORdate_year2013           -8.169e-01  1.104e+00  -0.740 0.459212    
Hypertension.compositeyes  2.717e-01  2.352e-01   1.155 0.247925    
DiabetesStatusDiabetes     6.637e-02  2.024e-01   0.328 0.743046    
SmokerStatusEx-smoker     -4.784e-01  1.944e-01  -2.461 0.013860 *  
SmokerStatusNever smoked  -8.717e-01  2.590e-01  -3.366 0.000762 ***
Med.Statin.LLDyes         -1.115e-02  1.976e-01  -0.056 0.955023    
Med.all.antiplateletyes    2.663e-01  2.672e-01   0.997 0.318796    
GFR_MDRD                   3.752e-03  4.396e-03   0.854 0.393327    
BMI                        4.072e-02  2.402e-02   1.695 0.090026 .  
MedHx_CVDyes               2.485e-01  1.678e-01   1.481 0.138646    
stenose50-70%             -1.445e+01  9.053e+02  -0.016 0.987261    
stenose70-90%             -1.485e+01  9.053e+02  -0.016 0.986915    
stenose90-99%             -1.496e+01  9.053e+02  -0.017 0.986814    
stenose100% (Occlusion)    3.567e-01  1.177e+03   0.000 0.999758    
stenose50-99%              2.246e-02  1.481e+03   0.000 0.999988    
stenose70-99%             -1.401e+01  9.053e+02  -0.015 0.987656    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1048.55  on 1026  degrees of freedom
Residual deviance:  971.98  on  997  degrees of freedom
AIC: 1032

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.153386 
Standard error............: 0.089495 
Odds ratio (effect size)..: 0.858 
Lower 95% CI..............: 0.72 
Upper 95% CI..............: 1.022 
Z-value...................: -1.713904 
P-value...................: 0.08654644 
Hosmer and Lemeshow r^2...: 0.073029 
Cox and Snell r^2.........: 0.071849 
Nagelkerke's pseudo r^2...: 0.112307 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005  
                -0.70521                   0.45974                   0.01687                   1.00984                   0.75666                   0.95568                   0.80536  
         ORdate_year2006           ORdate_year2007           ORdate_year2008           ORdate_year2009           ORdate_year2010           ORdate_year2011           ORdate_year2012  
                 0.64927                   0.22452                  -0.72687                  -0.43512                  -0.29927                  -1.07426                  -1.28144  
         ORdate_year2013     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                -0.67356                  -0.31131                   0.27838  

Degrees of Freedom: 1026 Total (i.e. Null);  1010 Residual
Null Deviance:      1209 
Residual Deviance: 1076     AIC: 1110

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.7057  -0.9270   0.5682   0.7863   1.6312  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                13.455449 554.513532   0.024  0.98064    
currentDF[, PROTEIN]        0.461019   0.089249   5.166 2.40e-07 ***
Age                         0.019841   0.009478   2.093  0.03632 *  
Gendermale                  1.016637   0.165723   6.135 8.54e-10 ***
ORdate_year2003             0.790819   0.436557   1.811  0.07006 .  
ORdate_year2004             0.998412   0.416252   2.399  0.01646 *  
ORdate_year2005             0.817992   0.422981   1.934  0.05313 .  
ORdate_year2006             0.675490   0.422717   1.598  0.11005    
ORdate_year2007             0.265977   0.421647   0.631  0.52817    
ORdate_year2008            -0.721520   0.424221  -1.701  0.08898 .  
ORdate_year2009            -0.445387   0.412036  -1.081  0.27972    
ORdate_year2010            -0.308070   0.421434  -0.731  0.46478    
ORdate_year2011            -1.109260   0.404454  -2.743  0.00610 ** 
ORdate_year2012            -1.216768   0.431677  -2.819  0.00482 ** 
ORdate_year2013            -0.278746   1.158591  -0.241  0.80987    
Hypertension.compositeyes   0.002770   0.234555   0.012  0.99058    
DiabetesStatusDiabetes     -0.245490   0.184369  -1.332  0.18302    
SmokerStatusEx-smoker      -0.327507   0.176804  -1.852  0.06397 .  
SmokerStatusNever smoked    0.253071   0.260789   0.970  0.33184    
Med.Statin.LLDyes          -0.088495   0.194379  -0.455  0.64891    
Med.all.antiplateletyes     0.159685   0.263076   0.607  0.54386    
GFR_MDRD                    0.002115   0.004069   0.520  0.60318    
BMI                         0.003836   0.020677   0.186  0.85282    
MedHx_CVDyes                0.107392   0.159909   0.672  0.50185    
stenose50-70%             -14.570510 554.512549  -0.026  0.97904    
stenose70-90%             -14.676350 554.512480  -0.026  0.97888    
stenose90-99%             -14.760373 554.512485  -0.027  0.97876    
stenose100% (Occlusion)   -15.152699 554.512981  -0.027  0.97820    
stenose50-99%             -16.115248 554.513777  -0.029  0.97682    
stenose70-99%             -15.477149 554.513354  -0.028  0.97773    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1209.2  on 1026  degrees of freedom
Residual deviance: 1065.4  on  997  degrees of freedom
AIC: 1125.4

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.461019 
Standard error............: 0.089249 
Odds ratio (effect size)..: 1.586 
Lower 95% CI..............: 1.331 
Upper 95% CI..............: 1.889 
Z-value...................: 5.16555 
P-value...................: 2.397336e-07 
Hosmer and Lemeshow r^2...: 0.11891 
Cox and Snell r^2.........: 0.130648 
Nagelkerke's pseudo r^2...: 0.188818 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year + 
    BMI + MedHx_CVD, family = binomial(link = "logit"), data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  ORdate_year2007  ORdate_year2008  ORdate_year2009  ORdate_year2010  ORdate_year2011  
       -0.28725          0.55342         -0.08820          0.04442          0.08371         -0.59131         -0.65083         -0.65420         -1.18209         -1.31694         -1.51164  
ORdate_year2012  ORdate_year2013              BMI     MedHx_CVDyes  
       -1.12787         -0.52134          0.02804          0.39584  

Degrees of Freedom: 1024 Total (i.e. Null);  1010 Residual
Null Deviance:      1371 
Residual Deviance: 1275     AIC: 1305

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0253  -1.1424   0.6745   0.9648   1.7097  

Coefficients:
                           Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -0.499554   1.373083  -0.364  0.71599    
currentDF[, PROTEIN]       0.054431   0.076157   0.715  0.47478    
Age                        0.010658   0.008563   1.245  0.21326    
Gendermale                 0.588920   0.150980   3.901 9.59e-05 ***
ORdate_year2003           -0.087142   0.399105  -0.218  0.82716    
ORdate_year2004            0.110600   0.390268   0.283  0.77687    
ORdate_year2005            0.172520   0.401993   0.429  0.66781    
ORdate_year2006           -0.534439   0.389281  -1.373  0.16979    
ORdate_year2007           -0.591044   0.392396  -1.506  0.13200    
ORdate_year2008           -0.610505   0.412007  -1.482  0.13840    
ORdate_year2009           -1.148955   0.395814  -2.903  0.00370 ** 
ORdate_year2010           -1.314552   0.400155  -3.285  0.00102 ** 
ORdate_year2011           -1.508299   0.394113  -3.827  0.00013 ***
ORdate_year2012           -1.250629   0.420674  -2.973  0.00295 ** 
ORdate_year2013           -1.355405   1.092280  -1.241  0.21464    
Hypertension.compositeyes -0.135897   0.209010  -0.650  0.51557    
DiabetesStatusDiabetes    -0.125530   0.166937  -0.752  0.45207    
SmokerStatusEx-smoker     -0.103661   0.159294  -0.651  0.51521    
SmokerStatusNever smoked  -0.172230   0.220544  -0.781  0.43484    
Med.Statin.LLDyes         -0.107013   0.171323  -0.625  0.53222    
Med.all.antiplateletyes    0.115957   0.234589   0.494  0.62110    
GFR_MDRD                  -0.002960   0.003661  -0.809  0.41878    
BMI                        0.035807   0.019190   1.866  0.06205 .  
MedHx_CVDyes               0.386769   0.142613   2.712  0.00669 ** 
stenose50-70%             -0.423616   0.978058  -0.433  0.66493    
stenose70-90%             -0.385762   0.945021  -0.408  0.68312    
stenose90-99%             -0.317154   0.945864  -0.335  0.73739    
stenose100% (Occlusion)   -0.808055   1.167932  -0.692  0.48902    
stenose50-99%             -0.225957   1.397976  -0.162  0.87160    
stenose70-99%              1.568848   1.521576   1.031  0.30251    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1371.2  on 1024  degrees of freedom
Residual deviance: 1264.9  on  995  degrees of freedom
AIC: 1324.9

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.054431 
Standard error............: 0.076157 
Odds ratio (effect size)..: 1.056 
Lower 95% CI..............: 0.91 
Upper 95% CI..............: 1.226 
Z-value...................: 0.714726 
P-value...................: 0.4747782 
Hosmer and Lemeshow r^2...: 0.077488 
Cox and Snell r^2.........: 0.098465 
Nagelkerke's pseudo r^2...: 0.133502 
Sample size of AE DB......: 2423 
Sample size of model......: 1025 
Missing data %............: 57.69707 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + Med.Statin.LLD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007  
           -0.965253              0.291269              0.553005              0.134726              0.736078              1.349719              1.404837              0.960290  
     ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013     Med.Statin.LLDyes  
           -0.266631              0.391323             -0.002592             -0.441056             -1.119532              0.138922              0.296235  

Degrees of Freedom: 1022 Total (i.e. Null);  1008 Residual
Null Deviance:      1417 
Residual Deviance: 1296     AIC: 1326

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.948  -1.067   0.605   1.031   2.016  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                1.1434405  1.3826620   0.827 0.408246    
currentDF[, PROTEIN]       0.2850532  0.0757349   3.764 0.000167 ***
Age                       -0.0108504  0.0084853  -1.279 0.200992    
Gendermale                 0.5961812  0.1519559   3.923 8.73e-05 ***
ORdate_year2003            0.1486866  0.3649392   0.407 0.683693    
ORdate_year2004            0.7329459  0.3540903   2.070 0.038458 *  
ORdate_year2005            1.3490733  0.3745811   3.602 0.000316 ***
ORdate_year2006            1.3953549  0.3766539   3.705 0.000212 ***
ORdate_year2007            0.9441096  0.3726751   2.533 0.011298 *  
ORdate_year2008           -0.2943364  0.3920852  -0.751 0.452836    
ORdate_year2009            0.3452511  0.3733217   0.925 0.355065    
ORdate_year2010            0.0003512  0.3743448   0.001 0.999251    
ORdate_year2011           -0.4791970  0.3729712  -1.285 0.198859    
ORdate_year2012           -1.3956939  0.4488404  -3.110 0.001874 ** 
ORdate_year2013           -0.8923112  1.0750516  -0.830 0.406529    
Hypertension.compositeyes  0.0121590  0.2092154   0.058 0.953656    
DiabetesStatusDiabetes    -0.1311948  0.1661607  -0.790 0.429781    
SmokerStatusEx-smoker      0.0834341  0.1565114   0.533 0.593974    
SmokerStatusNever smoked   0.4210810  0.2234223   1.885 0.059472 .  
Med.Statin.LLDyes          0.2899997  0.1667161   1.739 0.081950 .  
Med.all.antiplateletyes   -0.3332375  0.2366651  -1.408 0.159115    
GFR_MDRD                  -0.0008101  0.0036227  -0.224 0.823048    
BMI                       -0.0152345  0.0189620  -0.803 0.421730    
MedHx_CVDyes               0.1895065  0.1427898   1.327 0.184452    
stenose50-70%             -0.7233968  1.0050697  -0.720 0.471680    
stenose70-90%             -0.7863134  0.9727982  -0.808 0.418918    
stenose90-99%             -0.8599538  0.9733848  -0.883 0.376984    
stenose100% (Occlusion)   -1.7833693  1.2301895  -1.450 0.147150    
stenose50-99%              0.8008175  1.4435633   0.555 0.579065    
stenose70-99%              1.0078447  1.3390635   0.753 0.451661    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1417.5  on 1022  degrees of freedom
Residual deviance: 1279.6  on  993  degrees of freedom
AIC: 1339.6

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.285053 
Standard error............: 0.075735 
Odds ratio (effect size)..: 1.33 
Lower 95% CI..............: 1.146 
Upper 95% CI..............: 1.543 
Z-value...................: 3.763827 
P-value...................: 0.0001673329 
Hosmer and Lemeshow r^2...: 0.09724 
Cox and Snell r^2.........: 0.126053 
Nagelkerke's pseudo r^2...: 0.16811 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                 3.02431                  -0.17162                  -0.02586                  -0.44826                  -0.05776                  -0.42741  

Degrees of Freedom: 1022 Total (i.e. Null);  1017 Residual
Null Deviance:      1260 
Residual Deviance: 1227     AIC: 1239

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0698  -1.2723   0.7144   0.8698   1.7084  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)                 2.092931   1.354833   1.545  0.12240   
currentDF[, PROTEIN]       -0.144893   0.078452  -1.847  0.06476 . 
Age                        -0.024809   0.009119  -2.721  0.00651 **
Gendermale                 -0.480954   0.164654  -2.921  0.00349 **
ORdate_year2003            -0.242424   0.384488  -0.631  0.52836   
ORdate_year2004             0.006674   0.376821   0.018  0.98587   
ORdate_year2005             0.123183   0.391673   0.315  0.75314   
ORdate_year2006             0.160592   0.392177   0.409  0.68218   
ORdate_year2007             0.144387   0.392839   0.368  0.71321   
ORdate_year2008            -0.061603   0.407944  -0.151  0.87997   
ORdate_year2009             0.228323   0.401831   0.568  0.56989   
ORdate_year2010             0.254201   0.403568   0.630  0.52877   
ORdate_year2011             0.136443   0.392806   0.347  0.72833   
ORdate_year2012            -0.836298   0.411427  -2.033  0.04208 * 
ORdate_year2013             1.243013   1.277281   0.973  0.33047   
Hypertension.compositeyes   0.163098   0.214899   0.759  0.44788   
DiabetesStatusDiabetes      0.001762   0.173109   0.010  0.99188   
SmokerStatusEx-smoker      -0.042543   0.166115  -0.256  0.79787   
SmokerStatusNever smoked   -0.475594   0.224987  -2.114  0.03453 * 
Med.Statin.LLDyes          -0.005530   0.174239  -0.032  0.97468   
Med.all.antiplateletyes    -0.102128   0.239634  -0.426  0.66997   
GFR_MDRD                    0.003703   0.003826   0.968  0.33305   
BMI                        -0.002562   0.020160  -0.127  0.89888   
MedHx_CVDyes               -0.080076   0.149648  -0.535  0.59258   
stenose50-70%               0.331464   0.890049   0.372  0.70959   
stenose70-90%               0.554524   0.851998   0.651  0.51514   
stenose90-99%               0.875834   0.852861   1.027  0.30445   
stenose100% (Occlusion)     0.464840   1.112815   0.418  0.67615   
stenose50-99%              15.272495 426.600637   0.036  0.97144   
stenose70-99%               0.412295   1.301410   0.317  0.75139   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1260.0  on 1022  degrees of freedom
Residual deviance: 1197.1  on  993  degrees of freedom
AIC: 1257.1

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.144893 
Standard error............: 0.078452 
Odds ratio (effect size)..: 0.865 
Lower 95% CI..............: 0.742 
Upper 95% CI..............: 1.009 
Z-value...................: -1.846907 
P-value...................: 0.06476057 
Hosmer and Lemeshow r^2...: 0.049918 
Cox and Snell r^2.........: 0.059631 
Nagelkerke's pseudo r^2...: 0.084201 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

Analysis of MCP1_pg_ml_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus, family = binomial(link = "logit"), data = currentDF)

Coefficients:
              (Intercept)       currentDF[, PROTEIN]                        Age            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                 -2.00731                   -0.34711                    0.02959                    0.15194                    0.22937                    0.64769                    0.76029  
          ORdate_year2007            ORdate_year2008            ORdate_year2009            ORdate_year2010            ORdate_year2011            ORdate_year2012            ORdate_year2013  
                  0.24856                    0.24321                   -0.04629                   -0.97585                   -1.27885                   -0.82356                   -1.34927  
Hypertension.compositeyes     DiabetesStatusDiabetes      SmokerStatusEx-smoker   SmokerStatusNever smoked  
                  0.30340                   -0.24759                   -0.47356                   -0.61514  

Degrees of Freedom: 1025 Total (i.e. Null);  1008 Residual
Null Deviance:      1420 
Residual Deviance: 1263     AIC: 1299

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9496  -1.0507  -0.4931   1.0349   2.2340  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                -2.503198   1.420235  -1.763  0.07798 .  
currentDF[, PROTEIN]       -0.353613   0.080219  -4.408 1.04e-05 ***
Age                         0.030642   0.008829   3.470  0.00052 ***
Gendermale                 -0.035905   0.154962  -0.232  0.81677    
ORdate_year2003             0.176296   0.354018   0.498  0.61849    
ORdate_year2004             0.277788   0.342974   0.810  0.41798    
ORdate_year2005             0.686497   0.357697   1.919  0.05496 .  
ORdate_year2006             0.803570   0.358069   2.244  0.02482 *  
ORdate_year2007             0.316738   0.359751   0.880  0.37862    
ORdate_year2008             0.307305   0.381885   0.805  0.42099    
ORdate_year2009             0.092656   0.367377   0.252  0.80088    
ORdate_year2010            -0.896614   0.392181  -2.286  0.02224 *  
ORdate_year2011            -1.205080   0.398392  -3.025  0.00249 ** 
ORdate_year2012            -0.632278   0.409643  -1.543  0.12271    
ORdate_year2013            -1.338528   1.264850  -1.058  0.28994    
Hypertension.compositeyes   0.293106   0.210378   1.393  0.16355    
DiabetesStatusDiabetes     -0.261555   0.168888  -1.549  0.12146    
SmokerStatusEx-smoker      -0.469609   0.159516  -2.944  0.00324 ** 
SmokerStatusNever smoked   -0.633393   0.225616  -2.807  0.00499 ** 
Med.Statin.LLDyes          -0.081231   0.168736  -0.481  0.63023    
Med.all.antiplateletyes     0.001011   0.236117   0.004  0.99658    
GFR_MDRD                    0.001210   0.003728   0.325  0.74541    
BMI                         0.025796   0.019273   1.338  0.18075    
MedHx_CVDyes                0.024238   0.143615   0.169  0.86598    
stenose50-70%              -0.788886   1.037312  -0.761  0.44695    
stenose70-90%              -0.339225   0.997322  -0.340  0.73375    
stenose90-99%              -0.258801   0.997607  -0.259  0.79531    
stenose100% (Occlusion)     0.903807   1.333659   0.678  0.49797    
stenose50-99%             -14.159116 431.620048  -0.033  0.97383    
stenose70-99%              -0.245170   1.396941  -0.176  0.86068    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1420.3  on 1025  degrees of freedom
Residual deviance: 1252.5  on  996  degrees of freedom
AIC: 1312.5

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.353613 
Standard error............: 0.080219 
Odds ratio (effect size)..: 0.702 
Lower 95% CI..............: 0.6 
Upper 95% CI..............: 0.822 
Z-value...................: -4.408074 
P-value...................: 1.04294e-05 
Hosmer and Lemeshow r^2...: 0.118112 
Cox and Snell r^2.........: 0.150833 
Nagelkerke's pseudo r^2...: 0.201246 
Sample size of AE DB......: 2423 
Sample size of model......: 1026 
Missing data %............: 57.6558 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + SmokerStatus + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006           ORdate_year2007  
                 0.28411                  -0.27137                  -0.47462                  -0.07004                   1.21394                   1.10756                  -0.26437  
         ORdate_year2008           ORdate_year2009           ORdate_year2010           ORdate_year2011           ORdate_year2012           ORdate_year2013     SmokerStatusEx-smoker  
                 0.66835                  -0.19865                   0.42551                   0.20432                   0.58654                  -0.34571                  -0.40671  
SmokerStatusNever smoked                       BMI              MedHx_CVDyes  
                -0.74147                   0.03931                   0.26866  

Degrees of Freedom: 1026 Total (i.e. Null);  1010 Residual
Null Deviance:      1049 
Residual Deviance: 981.2    AIC: 1015

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4223   0.3148   0.5568   0.7329   1.2886  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                1.346e+01  8.941e+02   0.015 0.987994    
currentDF[, PROTEIN]      -2.709e-01  9.387e-02  -2.886 0.003900 ** 
Age                        1.522e-02  1.022e-02   1.490 0.136212    
Gendermale                 2.600e-03  1.839e-01   0.014 0.988722    
ORdate_year2003           -3.731e-01  4.061e-01  -0.919 0.358208    
ORdate_year2004           -4.519e-02  4.067e-01  -0.111 0.911525    
ORdate_year2005            1.249e+00  4.938e-01   2.530 0.011408 *  
ORdate_year2006            1.150e+00  4.803e-01   2.394 0.016646 *  
ORdate_year2007           -2.685e-01  4.127e-01  -0.651 0.515268    
ORdate_year2008            6.384e-01  4.741e-01   1.347 0.178106    
ORdate_year2009           -2.388e-01  4.180e-01  -0.571 0.567807    
ORdate_year2010            3.961e-01  4.456e-01   0.889 0.374025    
ORdate_year2011            1.280e-01  4.253e-01   0.301 0.763475    
ORdate_year2012            4.443e-01  4.765e-01   0.932 0.351141    
ORdate_year2013           -7.022e-01  1.119e+00  -0.628 0.530263    
Hypertension.compositeyes  2.688e-01  2.356e-01   1.141 0.253960    
DiabetesStatusDiabetes     6.480e-02  2.031e-01   0.319 0.749615    
SmokerStatusEx-smoker     -4.942e-01  1.955e-01  -2.527 0.011496 *  
SmokerStatusNever smoked  -8.856e-01  2.598e-01  -3.409 0.000652 ***
Med.Statin.LLDyes         -2.005e-02  1.979e-01  -0.101 0.919277    
Med.all.antiplateletyes    2.859e-01  2.673e-01   1.070 0.284828    
GFR_MDRD                   3.901e-03  4.410e-03   0.885 0.376390    
BMI                        4.190e-02  2.422e-02   1.731 0.083540 .  
MedHx_CVDyes               2.465e-01  1.682e-01   1.465 0.142856    
stenose50-70%             -1.457e+01  8.941e+02  -0.016 0.986996    
stenose70-90%             -1.495e+01  8.941e+02  -0.017 0.986661    
stenose90-99%             -1.507e+01  8.941e+02  -0.017 0.986549    
stenose100% (Occlusion)    2.306e-01  1.169e+03   0.000 0.999843    
stenose50-99%             -1.542e-01  1.475e+03   0.000 0.999917    
stenose70-99%             -1.416e+01  8.941e+02  -0.016 0.987363    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1048.55  on 1026  degrees of freedom
Residual deviance:  966.49  on  997  degrees of freedom
AIC: 1026.5

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.270913 
Standard error............: 0.093868 
Odds ratio (effect size)..: 0.763 
Lower 95% CI..............: 0.635 
Upper 95% CI..............: 0.917 
Z-value...................: -2.886115 
P-value...................: 0.003900291 
Hosmer and Lemeshow r^2...: 0.078264 
Cox and Snell r^2.........: 0.076797 
Nagelkerke's pseudo r^2...: 0.120041 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005  
                -0.30325                   0.54611                   0.01399                   0.86746                   0.79551                   0.97212                   0.74376  
         ORdate_year2006           ORdate_year2007           ORdate_year2008           ORdate_year2009           ORdate_year2010           ORdate_year2011           ORdate_year2012  
                 0.47948                   0.15137                  -0.91676                  -0.61732                  -0.37096                  -1.28289                  -1.46290  
         ORdate_year2013     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                -0.73412                  -0.30615                   0.29188  

Degrees of Freedom: 1026 Total (i.e. Null);  1010 Residual
Null Deviance:      1209 
Residual Deviance: 1065     AIC: 1099

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6863  -0.8607   0.5570   0.7794   1.7553  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                13.662173 565.741863   0.024  0.98073    
currentDF[, PROTEIN]        0.542203   0.091239   5.943 2.80e-09 ***
Age                         0.016602   0.009506   1.747  0.08072 .  
Gendermale                  0.877390   0.167288   5.245 1.56e-07 ***
ORdate_year2003             0.829016   0.438106   1.892  0.05845 .  
ORdate_year2004             1.012328   0.417189   2.427  0.01524 *  
ORdate_year2005             0.753614   0.420585   1.792  0.07316 .  
ORdate_year2006             0.507971   0.422371   1.203  0.22911    
ORdate_year2007             0.197488   0.423177   0.467  0.64073    
ORdate_year2008            -0.905962   0.427284  -2.120  0.03398 *  
ORdate_year2009            -0.626258   0.416034  -1.505  0.13225    
ORdate_year2010            -0.374918   0.424362  -0.883  0.37697    
ORdate_year2011            -1.311929   0.409831  -3.201  0.00137 ** 
ORdate_year2012            -1.390047   0.436994  -3.181  0.00147 ** 
ORdate_year2013            -0.371440   1.164790  -0.319  0.74981    
Hypertension.compositeyes  -0.016311   0.235812  -0.069  0.94485    
DiabetesStatusDiabetes     -0.259691   0.185437  -1.400  0.16139    
SmokerStatusEx-smoker      -0.324649   0.177549  -1.829  0.06747 .  
SmokerStatusNever smoked    0.273727   0.262630   1.042  0.29729    
Med.Statin.LLDyes          -0.076315   0.195538  -0.390  0.69633    
Med.all.antiplateletyes     0.112168   0.266958   0.420  0.67436    
GFR_MDRD                    0.001810   0.004079   0.444  0.65724    
BMI                         0.005916   0.020883   0.283  0.77694    
MedHx_CVDyes                0.110460   0.161129   0.686  0.49301    
stenose50-70%             -14.283003 565.740874  -0.025  0.97986    
stenose70-90%             -14.452330 565.740802  -0.026  0.97962    
stenose90-99%             -14.521588 565.740806  -0.026  0.97952    
stenose100% (Occlusion)   -14.999461 565.741282  -0.027  0.97885    
stenose50-99%             -15.781913 565.742065  -0.028  0.97775    
stenose70-99%             -15.204332 565.741635  -0.027  0.97856    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1209.2  on 1026  degrees of freedom
Residual deviance: 1056.0  on  997  degrees of freedom
AIC: 1116

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.542203 
Standard error............: 0.091239 
Odds ratio (effect size)..: 1.72 
Lower 95% CI..............: 1.438 
Upper 95% CI..............: 2.057 
Z-value...................: 5.942652 
P-value...................: 2.804479e-09 
Hosmer and Lemeshow r^2...: 0.126731 
Cox and Snell r^2.........: 0.138617 
Nagelkerke's pseudo r^2...: 0.200334 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007  
            -0.27277               0.25210               0.47778              -0.03586               0.21890               0.26139              -0.55175              -0.63763  
     ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013                   BMI          MedHx_CVDyes  
            -0.73716              -1.28079              -1.44115              -1.67550              -1.26029              -0.67318               0.02918               0.41322  

Degrees of Freedom: 1024 Total (i.e. Null);  1009 Residual
Null Deviance:      1371 
Residual Deviance: 1265     AIC: 1297

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.1100  -1.1200   0.6753   0.9475   1.7770  

Coefficients:
                           Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -0.487068   1.372237  -0.355 0.722631    
currentDF[, PROTEIN]       0.248465   0.079915   3.109 0.001876 ** 
Age                        0.009945   0.008588   1.158 0.246839    
Gendermale                 0.514651   0.153628   3.350 0.000808 ***
ORdate_year2003           -0.041236   0.401630  -0.103 0.918224    
ORdate_year2004            0.238300   0.391193   0.609 0.542417    
ORdate_year2005            0.293659   0.401273   0.732 0.464279    
ORdate_year2006           -0.529262   0.388860  -1.361 0.173495    
ORdate_year2007           -0.591576   0.394251  -1.501 0.133483    
ORdate_year2008           -0.695882   0.415290  -1.676 0.093806 .  
ORdate_year2009           -1.249195   0.399905  -3.124 0.001786 ** 
ORdate_year2010           -1.421022   0.404147  -3.516 0.000438 ***
ORdate_year2011           -1.657709   0.399897  -4.145 3.39e-05 ***
ORdate_year2012           -1.371832   0.425027  -3.228 0.001248 ** 
ORdate_year2013           -1.508531   1.083271  -1.393 0.163750    
Hypertension.compositeyes -0.118009   0.209771  -0.563 0.573736    
DiabetesStatusDiabetes    -0.125879   0.167896  -0.750 0.453412    
SmokerStatusEx-smoker     -0.097052   0.160028  -0.606 0.544202    
SmokerStatusNever smoked  -0.182810   0.221749  -0.824 0.409711    
Med.Statin.LLDyes         -0.081366   0.172008  -0.473 0.636186    
Med.all.antiplateletyes    0.105192   0.236668   0.444 0.656702    
GFR_MDRD                  -0.003066   0.003675  -0.834 0.404224    
BMI                        0.036420   0.019225   1.894 0.058172 .  
MedHx_CVDyes               0.396450   0.143354   2.766 0.005683 ** 
stenose50-70%             -0.335483   0.973065  -0.345 0.730268    
stenose70-90%             -0.328877   0.939587  -0.350 0.726321    
stenose90-99%             -0.250902   0.940488  -0.267 0.789640    
stenose100% (Occlusion)   -0.713716   1.162624  -0.614 0.539292    
stenose50-99%             -0.102693   1.397573  -0.073 0.941425    
stenose70-99%              1.689652   1.526120   1.107 0.268227    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1371.2  on 1024  degrees of freedom
Residual deviance: 1255.6  on  995  degrees of freedom
AIC: 1315.6

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.248465 
Standard error............: 0.079915 
Odds ratio (effect size)..: 1.282 
Lower 95% CI..............: 1.096 
Upper 95% CI..............: 1.499 
Z-value...................: 3.109115 
P-value...................: 0.001876488 
Hosmer and Lemeshow r^2...: 0.084309 
Cox and Snell r^2.........: 0.106654 
Nagelkerke's pseudo r^2...: 0.144605 
Sample size of AE DB......: 2423 
Sample size of model......: 1025 
Missing data %............: 57.69707 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + Med.Statin.LLD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006       ORdate_year2007  
            -0.84179               0.36943               0.46117               0.16803               0.76540               1.32673               1.29370               0.91271  
     ORdate_year2008       ORdate_year2009       ORdate_year2010       ORdate_year2011       ORdate_year2012       ORdate_year2013     Med.Statin.LLDyes  
            -0.40427               0.25255              -0.08189              -0.60610              -1.26675               0.06868               0.31061  

Degrees of Freedom: 1022 Total (i.e. Null);  1008 Residual
Null Deviance:      1417 
Residual Deviance: 1289     AIC: 1319

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0666  -1.0636   0.5928   1.0318   2.1302  

Coefficients:
                           Estimate Std. Error z value Pr(>|z|)    
(Intercept)                1.328909   1.374772   0.967 0.333724    
currentDF[, PROTEIN]       0.375787   0.079558   4.723 2.32e-06 ***
Age                       -0.013313   0.008525  -1.562 0.118370    
Gendermale                 0.503644   0.154091   3.268 0.001081 ** 
ORdate_year2003            0.181745   0.366530   0.496 0.619999    
ORdate_year2004            0.769392   0.354034   2.173 0.029764 *  
ORdate_year2005            1.343134   0.372096   3.610 0.000307 ***
ORdate_year2006            1.293126   0.374260   3.455 0.000550 ***
ORdate_year2007            0.906344   0.373576   2.426 0.015261 *  
ORdate_year2008           -0.428300   0.394300  -1.086 0.277377    
ORdate_year2009            0.205306   0.375452   0.547 0.584500    
ORdate_year2010           -0.076314   0.377175  -0.202 0.839658    
ORdate_year2011           -0.641886   0.377120  -1.702 0.088741 .  
ORdate_year2012           -1.555668   0.454236  -3.425 0.000615 ***
ORdate_year2013           -0.975692   1.066610  -0.915 0.360318    
Hypertension.compositeyes  0.010992   0.209760   0.052 0.958207    
DiabetesStatusDiabetes    -0.130904   0.166790  -0.785 0.432544    
SmokerStatusEx-smoker      0.094923   0.157283   0.604 0.546164    
SmokerStatusNever smoked   0.440592   0.224381   1.964 0.049577 *  
Med.Statin.LLDyes          0.304955   0.167475   1.821 0.068622 .  
Med.all.antiplateletyes   -0.360437   0.238542  -1.511 0.130789    
GFR_MDRD                  -0.001024   0.003638  -0.281 0.778414    
BMI                       -0.015159   0.019053  -0.796 0.426245    
MedHx_CVDyes               0.196355   0.143486   1.368 0.171167    
stenose50-70%             -0.559371   0.991250  -0.564 0.572544    
stenose70-90%             -0.665570   0.957841  -0.695 0.487140    
stenose90-99%             -0.727696   0.958343  -0.759 0.447657    
stenose100% (Occlusion)   -1.664013   1.215835  -1.369 0.171119    
stenose50-99%              1.011372   1.430212   0.707 0.479474    
stenose70-99%              1.167517   1.325550   0.881 0.378437    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1417.5  on 1022  degrees of freedom
Residual deviance: 1271.1  on  993  degrees of freedom
AIC: 1331.1

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.375787 
Standard error............: 0.079558 
Odds ratio (effect size)..: 1.456 
Lower 95% CI..............: 1.246 
Upper 95% CI..............: 1.702 
Z-value...................: 4.723433 
P-value...................: 2.318968e-06 
Hosmer and Lemeshow r^2...: 0.103252 
Cox and Snell r^2.........: 0.133303 
Nagelkerke's pseudo r^2...: 0.177779 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                 2.86041                  -0.28454                  -0.02413                  -0.37184                  -0.06239                  -0.42455  

Degrees of Freedom: 1022 Total (i.e. Null);  1017 Residual
Null Deviance:      1260 
Residual Deviance: 1218     AIC: 1230

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0914  -1.2451   0.6989   0.8683   1.7424  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                2.059e+00  1.363e+00   1.511 0.130824    
currentDF[, PROTEIN]      -2.984e-01  8.324e-02  -3.584 0.000338 ***
Age                       -2.396e-02  9.176e-03  -2.612 0.009014 ** 
Gendermale                -3.974e-01  1.669e-01  -2.381 0.017254 *  
ORdate_year2003           -2.876e-01  3.871e-01  -0.743 0.457508    
ORdate_year2004           -9.962e-02  3.781e-01  -0.263 0.792185    
ORdate_year2005            5.046e-02  3.903e-01   0.129 0.897132    
ORdate_year2006            1.940e-01  3.912e-01   0.496 0.619892    
ORdate_year2007            1.522e-01  3.939e-01   0.386 0.699245    
ORdate_year2008            2.802e-02  4.106e-01   0.068 0.945589    
ORdate_year2009            3.387e-01  4.051e-01   0.836 0.403089    
ORdate_year2010            3.372e-01  4.066e-01   0.829 0.406954    
ORdate_year2011            2.708e-01  3.970e-01   0.682 0.495164    
ORdate_year2012           -7.347e-01  4.145e-01  -1.773 0.076274 .  
ORdate_year2013            1.324e+00  1.278e+00   1.036 0.300236    
Hypertension.compositeyes  1.549e-01  2.155e-01   0.719 0.472225    
DiabetesStatusDiabetes    -4.933e-04  1.740e-01  -0.003 0.997738    
SmokerStatusEx-smoker     -5.171e-02  1.671e-01  -0.310 0.756936    
SmokerStatusNever smoked  -4.761e-01  2.262e-01  -2.105 0.035281 *  
Med.Statin.LLDyes         -2.706e-02  1.750e-01  -0.155 0.877085    
Med.all.antiplateletyes   -9.172e-02  2.410e-01  -0.381 0.703469    
GFR_MDRD                   3.902e-03  3.845e-03   1.015 0.310178    
BMI                       -3.310e-03  2.037e-02  -0.162 0.870933    
MedHx_CVDyes              -8.661e-02  1.504e-01  -0.576 0.564713    
stenose50-70%              2.393e-01  8.956e-01   0.267 0.789318    
stenose70-90%              4.914e-01  8.567e-01   0.574 0.566251    
stenose90-99%              8.067e-01  8.574e-01   0.941 0.346787    
stenose100% (Occlusion)    3.784e-01  1.119e+00   0.338 0.735351    
stenose50-99%              1.515e+01  4.272e+02   0.035 0.971717    
stenose70-99%              3.624e-01  1.311e+00   0.276 0.782188    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1260.0  on 1022  degrees of freedom
Residual deviance: 1187.4  on  993  degrees of freedom
AIC: 1247.4

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.29836 
Standard error............: 0.083244 
Odds ratio (effect size)..: 0.742 
Lower 95% CI..............: 0.63 
Upper 95% CI..............: 0.874 
Z-value...................: -3.584146 
P-value...................: 0.0003381831 
Hosmer and Lemeshow r^2...: 0.057599 
Cox and Snell r^2.........: 0.068484 
Nagelkerke's pseudo r^2...: 0.096703 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

Analysis of MCP1_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ ORdate_year + DiabetesStatus + 
    GFR_MDRD + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
           (Intercept)         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes                GFR_MDRD            MedHx_CVDyes  
              0.914168                0.226784                0.404666                0.797527                0.996647               -0.455937               -0.009503               -0.369454  

Degrees of Freedom: 497 Total (i.e. Null);  490 Residual
Null Deviance:      675.4 
Residual Deviance: 656.5    AIC: 672.5

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7837  -1.2045   0.8077   1.0189   1.6189  

Coefficients:
                           Estimate Std. Error z value Pr(>|z|)  
(Intercept)               -1.344404   1.848362  -0.727   0.4670  
currentDF[, PROTEIN]      -0.101647   0.098078  -1.036   0.3000  
Age                        0.001412   0.012458   0.113   0.9097  
Gendermale                -0.059074   0.218708  -0.270   0.7871  
ORdate_year2003            0.270553   0.319758   0.846   0.3975  
ORdate_year2004            0.414039   0.313676   1.320   0.1868  
ORdate_year2005            0.814316   0.325700   2.500   0.0124 *
ORdate_year2006            1.051187   0.572596   1.836   0.0664 .
Hypertension.compositeyes  0.397265   0.280815   1.415   0.1572  
DiabetesStatusDiabetes    -0.531187   0.239984  -2.213   0.0269 *
SmokerStatusEx-smoker     -0.191276   0.213771  -0.895   0.3709  
SmokerStatusNever smoked  -0.092939   0.321273  -0.289   0.7724  
Med.Statin.LLDyes         -0.189320   0.223037  -0.849   0.3960  
Med.all.antiplateletyes    0.286712   0.341831   0.839   0.4016  
GFR_MDRD                  -0.009395   0.005429  -1.731   0.0835 .
BMI                        0.011038   0.025794   0.428   0.6687  
MedHx_CVDyes              -0.339943   0.202341  -1.680   0.0929 .
stenose50-70%              1.466435   1.353371   1.084   0.2786  
stenose70-90%              1.693120   1.260905   1.343   0.1793  
stenose90-99%              1.428644   1.256958   1.137   0.2557  
stenose100% (Occlusion)    1.677634   1.607777   1.043   0.2967  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 675.45  on 497  degrees of freedom
Residual deviance: 648.01  on 477  degrees of freedom
AIC: 690.01

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.101647 
Standard error............: 0.098078 
Odds ratio (effect size)..: 0.903 
Lower 95% CI..............: 0.745 
Upper 95% CI..............: 1.095 
Z-value...................: -1.036385 
P-value...................: 0.3000228 
Hosmer and Lemeshow r^2...: 0.040626 
Cox and Snell r^2.........: 0.053611 
Nagelkerke's pseudo r^2...: 0.072214 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + SmokerStatus + Med.all.antiplatelet, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006     SmokerStatusEx-smoker  
                 1.06646                  -0.52953                  -0.32954                  -0.08014                   1.36511                   0.89928                  -0.61228  
SmokerStatusNever smoked   Med.all.antiplateletyes  
                -0.97955                   0.78876  

Degrees of Freedom: 495 Total (i.e. Null);  487 Residual
Null Deviance:      493.1 
Residual Deviance: 434.8    AIC: 452.8

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4211   0.2345   0.4547   0.6917   1.5668  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                15.348537 782.511165   0.020  0.98435    
currentDF[, PROTEIN]       -0.529002   0.131880  -4.011 6.04e-05 ***
Age                        -0.007398   0.016528  -0.448  0.65443    
Gendermale                 -0.093877   0.291495  -0.322  0.74741    
ORdate_year2003            -0.263136   0.374993  -0.702  0.48286    
ORdate_year2004            -0.126679   0.375600  -0.337  0.73591    
ORdate_year2005             1.356015   0.463966   2.923  0.00347 ** 
ORdate_year2006             0.954240   0.846117   1.128  0.25941    
Hypertension.compositeyes   0.233145   0.354307   0.658  0.51052    
DiabetesStatusDiabetes      0.167424   0.327745   0.511  0.60947    
SmokerStatusEx-smoker      -0.611973   0.290369  -2.108  0.03507 *  
SmokerStatusNever smoked   -1.015844   0.400583  -2.536  0.01122 *  
Med.Statin.LLDyes          -0.045057   0.278620  -0.162  0.87153    
Med.all.antiplateletyes     0.882001   0.418227   2.109  0.03495 *  
GFR_MDRD                   -0.005131   0.007387  -0.695  0.48728    
BMI                        -0.004816   0.035516  -0.136  0.89214    
MedHx_CVDyes                0.002746   0.262697   0.010  0.99166    
stenose50-70%             -12.150316 782.509873  -0.016  0.98761    
stenose70-90%             -13.294854 782.509160  -0.017  0.98644    
stenose90-99%             -13.724431 782.509140  -0.018  0.98601    
stenose100% (Occlusion)   -12.845130 782.510173  -0.016  0.98690    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 493.05  on 495  degrees of freedom
Residual deviance: 427.11  on 475  degrees of freedom
AIC: 469.11

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.529002 
Standard error............: 0.13188 
Odds ratio (effect size)..: 0.589 
Lower 95% CI..............: 0.455 
Upper 95% CI..............: 0.763 
Z-value...................: -4.011244 
P-value...................: 6.039972e-05 
Hosmer and Lemeshow r^2...: 0.133742 
Cox and Snell r^2.........: 0.124489 
Nagelkerke's pseudo r^2...: 0.197624 
Sample size of AE DB......: 2423 
Sample size of model......: 496 
Missing data %............: 79.52951 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + Hypertension.composite + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
              (Intercept)       currentDF[, PROTEIN]                 Gendermale  Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked  
                   0.8092                     0.6602                     0.6928                     0.6592                    -0.6083                     0.1413  

Degrees of Freedom: 497 Total (i.e. Null);  492 Residual
Null Deviance:      491.1 
Residual Deviance: 444.9    AIC: 456.9

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6379   0.2873   0.4882   0.6781   1.7615  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                12.447356 835.735777   0.015   0.9881    
currentDF[, PROTEIN]        0.706499   0.134553   5.251 1.52e-07 ***
Age                         0.002853   0.016004   0.178   0.8585    
Gendermale                  0.637657   0.267028   2.388   0.0169 *  
ORdate_year2003             0.549864   0.414524   1.326   0.1847    
ORdate_year2004             0.805015   0.406543   1.980   0.0477 *  
ORdate_year2005             0.624538   0.406253   1.537   0.1242    
ORdate_year2006             0.802238   0.666470   1.204   0.2287    
Hypertension.compositeyes   0.667020   0.346159   1.927   0.0540 .  
DiabetesStatusDiabetes     -0.314616   0.300156  -1.048   0.2946    
SmokerStatusEx-smoker      -0.647084   0.280760  -2.305   0.0212 *  
SmokerStatusNever smoked    0.040523   0.456761   0.089   0.9293    
Med.Statin.LLDyes          -0.233163   0.297784  -0.783   0.4336    
Med.all.antiplateletyes     0.250904   0.415699   0.604   0.5461    
GFR_MDRD                    0.002218   0.007104   0.312   0.7549    
BMI                         0.035973   0.032986   1.091   0.2755    
MedHx_CVDyes                0.130183   0.256011   0.509   0.6111    
stenose50-70%             -14.462542 835.734125  -0.017   0.9862    
stenose70-90%             -13.264399 835.733950  -0.016   0.9873    
stenose90-99%             -13.636312 835.733939  -0.016   0.9870    
stenose100% (Occlusion)   -12.927065 835.734827  -0.015   0.9877    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 491.11  on 497  degrees of freedom
Residual deviance: 433.35  on 477  degrees of freedom
AIC: 475.35

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.706499 
Standard error............: 0.134553 
Odds ratio (effect size)..: 2.027 
Lower 95% CI..............: 1.557 
Upper 95% CI..............: 2.639 
Z-value...................: 5.250692 
P-value...................: 1.515291e-07 
Hosmer and Lemeshow r^2...: 0.117609 
Cox and Snell r^2.........: 0.109508 
Nagelkerke's pseudo r^2...: 0.174656 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender + 
    DiabetesStatus + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
           (Intercept)                     Age              Gendermale  DiabetesStatusDiabetes                     BMI            MedHx_CVDyes  
              -1.99101                 0.01776                 0.74177                -0.50330                 0.05039                 0.34743  

Degrees of Freedom: 497 Total (i.e. Null);  492 Residual
Null Deviance:      552.3 
Residual Deviance: 530.6    AIC: 542.6

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0961   0.4591   0.6214   0.7611   1.4201  

Coefficients:
                           Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -2.625455   2.002948  -1.311 0.189927    
currentDF[, PROTEIN]       0.080961   0.112767   0.718 0.472791    
Age                        0.012935   0.014179   0.912 0.361625    
Gendermale                 0.780891   0.236687   3.299 0.000969 ***
ORdate_year2003           -0.048044   0.377101  -0.127 0.898621    
ORdate_year2004           -0.007620   0.370292  -0.021 0.983583    
ORdate_year2005            0.121943   0.378812   0.322 0.747521    
ORdate_year2006           -0.274026   0.609536  -0.450 0.653024    
Hypertension.compositeyes  0.220572   0.312364   0.706 0.480103    
DiabetesStatusDiabetes    -0.517734   0.264696  -1.956 0.050470 .  
SmokerStatusEx-smoker     -0.074582   0.247534  -0.301 0.763187    
SmokerStatusNever smoked   0.045087   0.367837   0.123 0.902445    
Med.Statin.LLDyes         -0.074341   0.261600  -0.284 0.776274    
Med.all.antiplateletyes   -0.101923   0.399828  -0.255 0.798788    
GFR_MDRD                  -0.005948   0.006301  -0.944 0.345180    
BMI                        0.050533   0.029404   1.719 0.085696 .  
MedHx_CVDyes               0.332431   0.225488   1.474 0.140408    
stenose50-70%              1.348602   1.383495   0.975 0.329670    
stenose70-90%              1.233226   1.267524   0.973 0.330583    
stenose90-99%              1.441676   1.265778   1.139 0.254718    
stenose100% (Occlusion)    1.539495   1.729426   0.890 0.373371    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 552.26  on 497  degrees of freedom
Residual deviance: 525.78  on 477  degrees of freedom
AIC: 567.78

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.080961 
Standard error............: 0.112767 
Odds ratio (effect size)..: 1.084 
Lower 95% CI..............: 0.869 
Upper 95% CI..............: 1.353 
Z-value...................: 0.717946 
P-value...................: 0.4727908 
Hosmer and Lemeshow r^2...: 0.047961 
Cox and Snell r^2.........: 0.051798 
Nagelkerke's pseudo r^2...: 0.077298 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + Med.Statin.LLD + GFR_MDRD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006     Med.Statin.LLDyes  
           -0.184908              0.398880              0.308827              0.117636              0.511102              0.914874              2.042222              0.503613  
            GFR_MDRD  
           -0.008279  

Degrees of Freedom: 493 Total (i.e. Null);  485 Residual
Null Deviance:      671.2 
Residual Deviance: 628.1    AIC: 646.1

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0452  -1.1496   0.7236   1.0055   1.5749  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                14.724782 507.308344   0.029 0.976844    
currentDF[, PROTEIN]        0.382779   0.102373   3.739 0.000185 ***
Age                        -0.017855   0.012743  -1.401 0.161175    
Gendermale                  0.333596   0.220692   1.512 0.130639    
ORdate_year2003             0.139752   0.333565   0.419 0.675241    
ORdate_year2004             0.534644   0.327507   1.632 0.102582    
ORdate_year2005             0.907301   0.337597   2.688 0.007198 ** 
ORdate_year2006             2.119729   0.705152   3.006 0.002647 ** 
Hypertension.compositeyes   0.056867   0.290769   0.196 0.844943    
DiabetesStatusDiabetes     -0.136186   0.247553  -0.550 0.582231    
SmokerStatusEx-smoker       0.037924   0.219288   0.173 0.862697    
SmokerStatusNever smoked    0.204708   0.326640   0.627 0.530850    
Med.Statin.LLDyes           0.416464   0.224076   1.859 0.063086 .  
Med.all.antiplateletyes    -0.111359   0.352671  -0.316 0.752185    
GFR_MDRD                   -0.009851   0.005585  -1.764 0.077796 .  
BMI                        -0.004712   0.025759  -0.183 0.854856    
MedHx_CVDyes                0.136275   0.204765   0.666 0.505718    
stenose50-70%             -13.625344 507.306732  -0.027 0.978573    
stenose70-90%             -13.318413 507.306494  -0.026 0.979055    
stenose90-99%             -13.614962 507.306482  -0.027 0.978589    
stenose100% (Occlusion)   -13.983151 507.307389  -0.028 0.978010    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 671.15  on 493  degrees of freedom
Residual deviance: 620.90  on 473  degrees of freedom
AIC: 662.9

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.382779 
Standard error............: 0.102373 
Odds ratio (effect size)..: 1.466 
Lower 95% CI..............: 1.2 
Upper 95% CI..............: 1.792 
Z-value...................: 3.739066 
P-value...................: 0.0001847055 
Hosmer and Lemeshow r^2...: 0.074874 
Cox and Snell r^2.........: 0.096722 
Nagelkerke's pseudo r^2...: 0.13018 
Sample size of AE DB......: 2423 
Sample size of model......: 494 
Missing data %............: 79.61205 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale  
             3.58159              -0.46804              -0.03057              -0.73346  

Degrees of Freedom: 495 Total (i.e. Null);  492 Residual
Null Deviance:      595.8 
Residual Deviance: 558.3    AIC: 566.3

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3169  -1.1623   0.6142   0.8461   1.4675  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                19.276414 500.331949   0.039  0.96927    
currentDF[, PROTEIN]       -0.460853   0.112834  -4.084 4.42e-05 ***
Age                        -0.037892   0.014325  -2.645  0.00816 ** 
Gendermale                 -0.824754   0.267531  -3.083  0.00205 ** 
ORdate_year2003            -0.173591   0.353376  -0.491  0.62326    
ORdate_year2004             0.107358   0.350189   0.307  0.75917    
ORdate_year2005             0.244942   0.361925   0.677  0.49855    
ORdate_year2006             0.642750   0.667287   0.963  0.33543    
Hypertension.compositeyes  -0.343329   0.336577  -1.020  0.30770    
DiabetesStatusDiabetes     -0.201077   0.262883  -0.765  0.44434    
SmokerStatusEx-smoker       0.195008   0.239805   0.813  0.41611    
SmokerStatusNever smoked   -0.132340   0.339916  -0.389  0.69703    
Med.Statin.LLDyes          -0.180751   0.246735  -0.733  0.46382    
Med.all.antiplateletyes    -0.066521   0.382296  -0.174  0.86186    
GFR_MDRD                   -0.001633   0.005981  -0.273  0.78480    
BMI                        -0.022195   0.029332  -0.757  0.44924    
MedHx_CVDyes               -0.108767   0.225402  -0.483  0.62942    
stenose50-70%             -13.861849 500.329841  -0.028  0.97790    
stenose70-90%             -14.062371 500.329485  -0.028  0.97758    
stenose90-99%             -13.922070 500.329474  -0.028  0.97780    
stenose100% (Occlusion)   -14.917614 500.330473  -0.030  0.97621    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 595.82  on 495  degrees of freedom
Residual deviance: 546.97  on 475  degrees of freedom
AIC: 588.97

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.460853 
Standard error............: 0.112834 
Odds ratio (effect size)..: 0.631 
Lower 95% CI..............: 0.506 
Upper 95% CI..............: 0.787 
Z-value...................: -4.084341 
P-value...................: 4.420205e-05 
Hosmer and Lemeshow r^2...: 0.081996 
Cox and Snell r^2.........: 0.093803 
Nagelkerke's pseudo r^2...: 0.13416 
Sample size of AE DB......: 2423 
Sample size of model......: 496 
Missing data %............: 79.52951 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Multi.Protein.PlaquePhenotypes.RANK.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Multi.PlaquePheno")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

B. Cross-sectional analysis symptoms

We will perform a cross-sectional analysis between plaque and plasma MCP1, IL6, and IL6R levels and the ‘clinical status’ of the plaque in terms of presence of patients’ symptoms (symptomatic vs. asymptomatic). The symptoms of interest are:

  • stroke
  • TIA
  • retinal infarction
  • amaurosis fugax
  • asymptomatic

Model 1

In this model we correct for Age, Gender, and year of surgery.


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "AsymptSympt"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate
     # + Hypertension.composite + DiabetesStatus + SmokerCurrent + 
     #            Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
     #            CAD_history + Stroke_history + Peripheral.interv + stenose
    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year, 
              data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale  
              0.2510                0.2653                0.0324               -0.4373  

Degrees of Freedom: 1197 Total (i.e. Null);  1194 Residual
Null Deviance:      827 
Residual Deviance: 805  AIC: 813

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5120   0.3491   0.4250   0.5151   1.0325  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)            -0.75194    0.76721  -0.980  0.32704   
currentDF[, PROTEIN]    0.25662    0.10362   2.477  0.01326 * 
Age                     0.03124    0.01032   3.027  0.00247 **
Gendermale             -0.45180    0.22013  -2.052  0.04013 * 
ORdate_year2003         1.33789    0.45960   2.911  0.00360 **
ORdate_year2004         0.83105    0.39880   2.084  0.03717 * 
ORdate_year2005         1.39139    0.44593   3.120  0.00181 **
ORdate_year2006         1.10178    0.42995   2.563  0.01039 * 
ORdate_year2007         1.01489    0.42046   2.414  0.01579 * 
ORdate_year2008         0.97459    0.46177   2.111  0.03481 * 
ORdate_year2009         1.11790    0.45989   2.431  0.01507 * 
ORdate_year2010         1.26611    0.50749   2.495  0.01260 * 
ORdate_year2011         1.37651    0.48495   2.838  0.00453 **
ORdate_year2012         1.40208    0.50471   2.778  0.00547 **
ORdate_year2013        15.32343  519.27613   0.030  0.97646   
ORdate_year2014        15.38790 2399.54474   0.006  0.99488   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 826.98  on 1197  degrees of freedom
Residual deviance: 786.30  on 1182  degrees of freedom
AIC: 818.3

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.256621 
Standard error............: 0.103616 
Odds ratio (effect size)..: 1.293 
Lower 95% CI..............: 1.055 
Upper 95% CI..............: 1.584 
Z-value...................: 2.476654 
P-value...................: 0.01326204 
Hosmer and Lemeshow r^2...: 0.0492 
Cox and Snell r^2.........: 0.033393 
Nagelkerke's pseudo r^2...: 0.066976 
Sample size of AE DB......: 2423 
Sample size of model......: 1198 
Missing data %............: 50.55716 

Analysis of MCP1_pg_ml_2015_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale  
             0.48608               0.33793               0.03014              -0.52960  

Degrees of Freedom: 1198 Total (i.e. Null);  1195 Residual
Null Deviance:      827.2 
Residual Deviance: 800.7    AIC: 808.7

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5623   0.3401   0.4248   0.5143   1.1318  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)            -0.51811    0.77059  -0.672  0.50136   
currentDF[, PROTEIN]    0.33370    0.10935   3.052  0.00228 **
Age                     0.02973    0.01033   2.880  0.00398 **
Gendermale             -0.54150    0.22360  -2.422  0.01545 * 
ORdate_year2003         1.36327    0.46060   2.960  0.00308 **
ORdate_year2004         0.87473    0.39956   2.189  0.02858 * 
ORdate_year2005         1.38021    0.44077   3.131  0.00174 **
ORdate_year2006         1.01024    0.42649   2.369  0.01785 * 
ORdate_year2007         0.94587    0.41945   2.255  0.02413 * 
ORdate_year2008         0.85349    0.46343   1.842  0.06552 . 
ORdate_year2009         1.00036    0.46139   2.168  0.03015 * 
ORdate_year2010         1.20841    0.50936   2.372  0.01767 * 
ORdate_year2011         1.24140    0.48877   2.540  0.01109 * 
ORdate_year2012         1.29953    0.50696   2.563  0.01037 * 
ORdate_year2013        15.21333  513.09680   0.030  0.97635   
ORdate_year2014        15.36424 2399.54474   0.006  0.99489   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 827.22  on 1198  degrees of freedom
Residual deviance: 783.22  on 1183  degrees of freedom
AIC: 815.22

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.333701 
Standard error............: 0.10935 
Odds ratio (effect size)..: 1.396 
Lower 95% CI..............: 1.127 
Upper 95% CI..............: 1.73 
Z-value...................: 3.051694 
P-value...................: 0.002275542 
Hosmer and Lemeshow r^2...: 0.053185 
Cox and Snell r^2.........: 0.036028 
Nagelkerke's pseudo r^2...: 0.072291 
Sample size of AE DB......: 2423 
Sample size of model......: 1199 
Missing data %............: 50.51589 

Analysis of MCP1_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN], 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]  
               1.726                 0.282  

Degrees of Freedom: 555 Total (i.e. Null);  554 Residual
Null Deviance:      479 
Residual Deviance: 473.3    AIC: 477.3

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3978   0.4254   0.5172   0.6128   0.9755  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)   
(Intercept)           0.11424    0.97215   0.118  0.90645   
currentDF[, PROTEIN]  0.36545    0.12536   2.915  0.00356 **
Age                   0.01685    0.01376   1.224  0.22100   
Gendermale           -0.31530    0.27652  -1.140  0.25418   
ORdate_year2003       0.87346    0.39514   2.211  0.02707 * 
ORdate_year2004       0.64995    0.36496   1.781  0.07494 . 
ORdate_year2005       0.98125    0.38250   2.565  0.01031 * 
ORdate_year2006       1.24417    0.69869   1.781  0.07496 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 478.98  on 555  degrees of freedom
Residual deviance: 463.27  on 548  degrees of freedom
AIC: 479.27

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.365453 
Standard error............: 0.125363 
Odds ratio (effect size)..: 1.441 
Lower 95% CI..............: 1.127 
Upper 95% CI..............: 1.843 
Z-value...................: 2.91516 
P-value...................: 0.003555061 
Hosmer and Lemeshow r^2...: 0.032796 
Cox and Snell r^2.........: 0.027857 
Nagelkerke's pseudo r^2...: 0.048241 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Uni.Protein.RANK.Symptoms.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Uni.Symptoms")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Model 2

In this model we correct for Age, Gender, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis..


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "AsymptSympt"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate

    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + 
                 Hypertension.composite + DiabetesStatus + SmokerStatus + 
                 Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                 MedHx_CVD + stenose, 
               data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing AsymptSympt
glm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurred

Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + Med.all.antiplatelet + GFR_MDRD + stenose, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
            (Intercept)     currentDF[, PROTEIN]                      Age               Gendermale  Med.all.antiplateletyes                 GFR_MDRD            stenose50-70%  
               15.33048                  0.27388                  0.03227                 -0.42700                 -0.92831                  0.00790                -13.42936  
          stenose70-90%            stenose90-99%  stenose100% (Occlusion)            stenose50-99%            stenose70-99%  
              -15.00489                -14.74684                 -0.33897                -15.81472                 -0.54263  

Degrees of Freedom: 1037 Total (i.e. Null);  1026 Residual
Null Deviance:      726.9 
Residual Deviance: 689.5    AIC: 713.5

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.1354   0.2804   0.4107   0.5329   1.0358  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)                1.557e+01  1.582e+03   0.010  0.99214   
currentDF[, PROTEIN]       2.315e-01  1.109e-01   2.088  0.03679 * 
Age                        3.308e-02  1.302e-02   2.540  0.01108 * 
Gendermale                -3.706e-01  2.410e-01  -1.537  0.12420   
ORdate_year2003            1.331e+00  4.719e-01   2.822  0.00478 **
ORdate_year2004            8.288e-01  4.138e-01   2.003  0.04516 * 
ORdate_year2005            1.418e+00  4.685e-01   3.026  0.00248 **
ORdate_year2006            1.206e+00  4.536e-01   2.659  0.00785 **
ORdate_year2007            1.308e+00  4.797e-01   2.726  0.00641 **
ORdate_year2008            1.294e+00  5.267e-01   2.457  0.01399 * 
ORdate_year2009            1.123e+00  4.800e-01   2.341  0.01926 * 
ORdate_year2010            1.461e+00  5.219e-01   2.798  0.00514 **
ORdate_year2011            1.744e+00  5.716e-01   3.052  0.00228 **
ORdate_year2012            1.526e+00  5.812e-01   2.626  0.00863 **
ORdate_year2013            1.536e+01  9.480e+02   0.016  0.98708   
Hypertension.compositeyes -2.319e-01  3.494e-01  -0.664  0.50696   
DiabetesStatusDiabetes    -1.203e-01  2.466e-01  -0.488  0.62568   
SmokerStatusEx-smoker     -3.315e-01  2.368e-01  -1.400  0.16154   
SmokerStatusNever smoked  -6.123e-02  3.624e-01  -0.169  0.86582   
Med.Statin.LLDyes         -2.931e-01  2.738e-01  -1.071  0.28439   
Med.all.antiplateletyes   -8.940e-01  4.852e-01  -1.843  0.06537 . 
GFR_MDRD                   5.771e-03  5.581e-03   1.034  0.30116   
BMI                       -8.490e-03  2.844e-02  -0.299  0.76531   
MedHx_CVDyes               1.198e-01  2.131e-01   0.562  0.57402   
stenose50-70%             -1.405e+01  1.582e+03  -0.009  0.99291   
stenose70-90%             -1.563e+01  1.582e+03  -0.010  0.99212   
stenose90-99%             -1.531e+01  1.582e+03  -0.010  0.99228   
stenose100% (Occlusion)   -1.723e-02  2.042e+03   0.000  0.99999   
stenose50-99%             -1.690e+01  1.582e+03  -0.011  0.99147   
stenose70-99%             -2.041e+00  1.893e+03  -0.001  0.99914   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 726.94  on 1037  degrees of freedom
Residual deviance: 666.93  on 1008  degrees of freedom
AIC: 726.93

Number of Fisher Scoring iterations: 16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.231511 
Standard error............: 0.110872 
Odds ratio (effect size)..: 1.261 
Lower 95% CI..............: 1.014 
Upper 95% CI..............: 1.566 
Z-value...................: 2.088098 
P-value...................: 0.03678904 
Hosmer and Lemeshow r^2...: 0.08256 
Cox and Snell r^2.........: 0.05618 
Nagelkerke's pseudo r^2...: 0.111561 
Sample size of AE DB......: 2423 
Sample size of model......: 1038 
Missing data %............: 57.16054 

Analysis of MCP1_pg_ml_2015_rank.

- processing AsymptSympt
glm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurredglm.fit: fitted probabilities numerically 0 or 1 occurred

Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + Med.all.antiplatelet + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
            (Intercept)     currentDF[, PROTEIN]                      Age               Gendermale  Med.all.antiplateletyes            stenose50-70%            stenose70-90%  
               16.23590                  0.39997                  0.02377                 -0.49817                 -0.89815                -13.08924                -14.73442  
          stenose90-99%  stenose100% (Occlusion)            stenose50-99%            stenose70-99%  
              -14.43974                 -0.06847                -15.51827                 -0.39970  

Degrees of Freedom: 1037 Total (i.e. Null);  1027 Residual
Null Deviance:      726.9 
Residual Deviance: 684.3    AIC: 706.3

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.2264   0.2749   0.4051   0.5261   1.2035  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)                1.571e+01  1.576e+03   0.010  0.99205   
currentDF[, PROTEIN]       3.638e-01  1.192e-01   3.053  0.00226 **
Age                        3.075e-02  1.305e-02   2.356  0.01847 * 
Gendermale                -4.633e-01  2.448e-01  -1.892  0.05848 . 
ORdate_year2003            1.369e+00  4.741e-01   2.888  0.00388 **
ORdate_year2004            9.018e-01  4.154e-01   2.171  0.02995 * 
ORdate_year2005            1.448e+00  4.656e-01   3.109  0.00188 **
ORdate_year2006            1.134e+00  4.516e-01   2.512  0.01200 * 
ORdate_year2007            1.266e+00  4.805e-01   2.634  0.00843 **
ORdate_year2008            1.186e+00  5.298e-01   2.238  0.02519 * 
ORdate_year2009            9.737e-01  4.829e-01   2.017  0.04374 * 
ORdate_year2010            1.394e+00  5.259e-01   2.651  0.00803 **
ORdate_year2011            1.593e+00  5.765e-01   2.763  0.00574 **
ORdate_year2012            1.401e+00  5.842e-01   2.397  0.01652 * 
ORdate_year2013            1.527e+01  9.325e+02   0.016  0.98694   
Hypertension.compositeyes -2.328e-01  3.504e-01  -0.664  0.50644   
DiabetesStatusDiabetes    -1.165e-01  2.472e-01  -0.471  0.63746   
SmokerStatusEx-smoker     -3.065e-01  2.372e-01  -1.292  0.19627   
SmokerStatusNever smoked  -2.896e-02  3.628e-01  -0.080  0.93638   
Med.Statin.LLDyes         -2.757e-01  2.748e-01  -1.003  0.31563   
Med.all.antiplateletyes   -8.961e-01  4.841e-01  -1.851  0.06415 . 
GFR_MDRD                   5.896e-03  5.597e-03   1.053  0.29221   
BMI                       -8.273e-03  2.830e-02  -0.292  0.77005   
MedHx_CVDyes               1.296e-01  2.139e-01   0.606  0.54481   
stenose50-70%             -1.392e+01  1.576e+03  -0.009  0.99296   
stenose70-90%             -1.553e+01  1.576e+03  -0.010  0.99214   
stenose90-99%             -1.520e+01  1.576e+03  -0.010  0.99230   
stenose100% (Occlusion)    7.679e-02  2.036e+03   0.000  0.99997   
stenose50-99%             -1.677e+01  1.576e+03  -0.011  0.99151   
stenose70-99%             -2.030e+00  1.882e+03  -0.001  0.99914   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 726.94  on 1037  degrees of freedom
Residual deviance: 661.78  on 1008  degrees of freedom
AIC: 721.78

Number of Fisher Scoring iterations: 16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.363828 
Standard error............: 0.119158 
Odds ratio (effect size)..: 1.439 
Lower 95% CI..............: 1.139 
Upper 95% CI..............: 1.817 
Z-value...................: 3.053335 
P-value...................: 0.002263135 
Hosmer and Lemeshow r^2...: 0.089643 
Cox and Snell r^2.........: 0.06085 
Nagelkerke's pseudo r^2...: 0.120834 
Sample size of AE DB......: 2423 
Sample size of model......: 1038 
Missing data %............: 57.16054 

Analysis of MCP1_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + Med.Statin.LLD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]       ORdate_year2003       ORdate_year2004       ORdate_year2005       ORdate_year2006     Med.Statin.LLDyes  
              1.2706                0.3012                0.8671                0.6864                0.9693                1.6028               -0.4499  

Degrees of Freedom: 497 Total (i.e. Null);  491 Residual
Null Deviance:      442.3 
Residual Deviance: 428.4    AIC: 442.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4541   0.3352   0.5033   0.6515   1.1052  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)                1.513e+01  1.362e+03   0.011  0.99114   
currentDF[, PROTEIN]       3.584e-01  1.314e-01   2.728  0.00638 **
Age                        2.106e-02  1.647e-02   1.279  0.20099   
Gendermale                -3.957e-01  3.025e-01  -1.308  0.19085   
ORdate_year2003            9.329e-01  4.115e-01   2.267  0.02339 * 
ORdate_year2004            7.111e-01  3.832e-01   1.856  0.06348 . 
ORdate_year2005            1.028e+00  4.066e-01   2.529  0.01145 * 
ORdate_year2006            1.769e+00  8.457e-01   2.092  0.03644 * 
Hypertension.compositeyes -4.844e-01  4.447e-01  -1.089  0.27601   
DiabetesStatusDiabetes     1.799e-01  3.266e-01   0.551  0.58173   
SmokerStatusEx-smoker     -1.731e-01  2.874e-01  -0.602  0.54698   
SmokerStatusNever smoked  -4.388e-01  4.130e-01  -1.063  0.28793   
Med.Statin.LLDyes         -3.813e-01  3.150e-01  -1.211  0.22603   
Med.all.antiplateletyes   -5.276e-01  5.178e-01  -1.019  0.30821   
GFR_MDRD                   9.532e-03  7.090e-03   1.344  0.17881   
BMI                        1.421e-02  3.461e-02   0.410  0.68152   
MedHx_CVDyes               9.952e-02  2.659e-01   0.374  0.70822   
stenose50-70%             -1.392e+01  1.362e+03  -0.010  0.99184   
stenose70-90%             -1.538e+01  1.362e+03  -0.011  0.99099   
stenose90-99%             -1.504e+01  1.362e+03  -0.011  0.99119   
stenose100% (Occlusion)   -5.145e-02  1.712e+03   0.000  0.99998   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 442.26  on 497  degrees of freedom
Residual deviance: 413.78  on 477  degrees of freedom
AIC: 455.78

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.358433 
Standard error............: 0.131412 
Odds ratio (effect size)..: 1.431 
Lower 95% CI..............: 1.106 
Upper 95% CI..............: 1.852 
Z-value...................: 2.727545 
P-value...................: 0.006380746 
Hosmer and Lemeshow r^2...: 0.064393 
Cox and Snell r^2.........: 0.055582 
Nagelkerke's pseudo r^2...: 0.094438 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Multi.Protein.RANK.Symptoms.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Multi.Symptoms")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

C. Longitudinal analysis secondary clinical outcome

For the longitudinal analyses of plaque and plasma MCP1, IL6, and IL6R levels and secondary cardiovascular events over a three-year follow-up period.

The primary outcome is defined as “a composite of fatal or non-fatal myocardial infarction, fatal or non-fatal stroke, ruptured aortic aneurysm, fatal cardiac failure, coronary or peripheral interventions, leg amputation due to vascular causes, and cardiovascular death”, i.e. major adverse cardiovascular events (MACE). Variable: epmajor.3years, these include: - myocardial infarction (MI) - cerebral infarction (CVA/stroke) - cardiovascular death (exact cause to be investigated) - cerebral bleeding (CVA/stroke) - fatal myocardial infarction (MI) - fatal cerebral infarction - fatal cerebral bleeding - sudden death - fatal heart failure - fatal aneurysm rupture - other cardiovascular death..

The secondary outcomes will be

  • incidence of fatal or non-fatal stroke (ischemic and bleeding) - variable: epstroke.3years, these include:
    • cerebral infarction (CVA/stroke)
    • cerebral bleeding (CVA/stroke)
    • fatal cerebral infarction
    • fatal cerebral bleeding.
  • incidence of acute coronary events (fatal or non-fatal myocardial infarction, coronary interventions) - variable: epcoronary.3years, these include:
    • myocardial infarction (MI)
    • coronary angioplasty (PCI/PTCA)
    • cardiovascular death (exact cause to be investigated)
    • coronary bypass (CABG)
    • fatal myocardial infarction (MI)
    • sudden death.
  • cardiovascular death - variable: epcvdeath.3years, these include:
    • cardiovascular death (exact cause to be investigated)
    • fatal myocardial infarction (MI)
    • fatal cerebral infarction
    • fatal cerebral bleeding
    • sudden death
    • fatal heart failure
    • fatal aneurysm rupture
    • other cardiovascular death..

30- and 90-days FU events

We will use 3-year follow-up, but we will also calculate 30 days and 90 days follow-up ‘time-to-event’ variables. On average there are 365.25 days in a year. We can calculate 30-days and 90-days follow-up time based on the three years follow-up.

cutt.off.30days = (1/365.25) * 30
cutt.off.90days = (1/365.25) * 90

# Fix maximum FU of 30 and 90 days
AEDB <- AEDB %>%
  mutate(
    FU.cutt.off.30days = ifelse(max.followup <= cutt.off.30days, max.followup, cutt.off.30days),
    FU.cutt.off.90days = ifelse(max.followup <= cutt.off.90days, max.followup, cutt.off.90days)
  ) 

AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "max.followup", 
                                      "FU.cutt.off.3years",
                                      "FU.cutt.off.30days", 
                                      "FU.cutt.off.90days"))
require(labelled)
AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)

DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)


rm(AEDB.temp)

AEDB.CEA <- AEDB.CEA %>%
  mutate(
    FU.cutt.off.30days = ifelse(max.followup <= cutt.off.30days, max.followup, cutt.off.30days),
    FU.cutt.off.90days = ifelse(max.followup <= cutt.off.90days, max.followup, cutt.off.90days)
  ) 

AEDB.CEA.temp <- subset(AEDB.CEA,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "max.followup", 
                                      "FU.cutt.off.3years",
                                      "FU.cutt.off.30days", 
                                      "FU.cutt.off.90days"))
require(labelled)
AEDB.CEA.temp$Gender <- to_factor(AEDB.CEA.temp$Gender)
AEDB.CEA.temp$Hospital <- to_factor(AEDB.CEA.temp$Hospital)
AEDB.CEA.temp$Artery_summary <- to_factor(AEDB.CEA.temp$Artery_summary)

DT::datatable(AEDB.CEA.temp[1:10,], caption = "Excerpt of the whole AEDB.CEA.", rownames = FALSE)


rm(AEDB.CEA.temp)

Here we will calculate the new 30- and 90-days follow-up of the events and their event-times of interest:

  • MACE (epmajor.3years)
  • Stroke (epstroke.3years)
  • Coronary events (epcoronary.3years)
  • Cardiovascular death (epcvdeath.3years)
avg_days_in_year = 365.25
cutt.off.30days.scaled <- cutt.off.30days * 365.25
cutt.off.90days.scaled <- cutt.off.90days * 365.25
# Event times
AEDB <- AEDB %>%
  mutate(
    ep_major_t_30days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_stroke_t_30days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_coronary_t_30days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_cvdeath_t_30days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_major_t_90days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_stroke_t_90days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_coronary_t_90days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_cvdeath_t_90days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.90days.scaled)
  ) 

AEDB.CEA <- AEDB.CEA %>%
  mutate(
    ep_major_t_30days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_stroke_t_30days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_coronary_t_30days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_cvdeath_t_30days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_major_t_90days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_stroke_t_90days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_coronary_t_90days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_cvdeath_t_90days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.90days.scaled)
  ) 

attach(AEDB)
The following objects are masked from AEDB.CEA:

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q, AgeSQR,
    aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3,
    analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2, AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon,
    Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US, BMI_WHO, BMI30ormore, brain401, brain402, brain403, brain404,
    brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history,
    Calc.bin, calcification, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS, CEL, CFD_recalc, cholverl, cholverl2,
    cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, collagen, Collagen.bin, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3,
    concace2, concacei, concacet, concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc, conccalc2, conccalreg,
    conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort, conccorthorm2, concderm, concdig, concdig2, concdig3,
    concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc, concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur,
    concneur2, concneur3, concneur4, concnitr, concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3,
    concsta2, concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat, crp_all, CRP_avg, CRP_dif,
    crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61, date_ic_patient, date_ic_researcher, Date.of.birth,
    date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst, dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3,
    dateend4, dateend5, dateend6, dateexact_latest, dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801,
    diet802, diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817, diet818, diet819,
    diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite, duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes,
    edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD, EMMPRIN_58kD, ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, EP_CAD,
    ep_cad_t_30days, ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite,
    EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days,
    ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days,
    ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years,
    EP_ischemic_stroke, ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time,
    ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days, EP_major_time, EP_MI, ep_mi_t_30days,
    ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years, EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years,
    EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time, EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time,
    EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days, ep_strokedeath_t_3years,
    EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years, epcoronary.30days, epcoronary.3years, epcoronary.90days,
    epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days, epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days,
    eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years,
    eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days,
    epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905, exer906, exer9071, exer9072, exer9073,
    exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4, FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40,
    Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent,
    FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp,
    FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling,
    FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp, FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp,
    FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling, FH_HC_sis, FH_HT_broth,
    FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis,
    FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent, FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat,
    FH_PAD_parent, FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis, FH_POB_broth,
    FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp, FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling,
    FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat, FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp,
    FH_tromb_mat, FH_tromb_parent, FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date,
    FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med, Gender, GFR_CG, GFR_MDRD, glucose,
    GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb, HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final,
    HDL_finalCU, hdl_source, HDL_var, heart300, heart301, heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312,
    heart313, heart314, heart315, heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327, heart328, HIF1A,
    ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs, Hypertension.selfreport,
    Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL12, IL13, IL17, IL2, IL21, IL4, IL5, IL6, IL6_pg_ug_2015, IL6R_pg_ug_2015, IL8,
    IL8_pg_ug_2015, IL9, indexsymptoms_latest, indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, informedconsent, insulin, insuline, INVULDAT,
    IP10, IPH_extended.bin, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source, LDL_var,
    leg501, leg502, leg503, leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520,
    LMW1STME, LTB4, LTB4R, macmean0, macrophages, macrophages_location, Macrophages.bin, MAP, Mast_cells_plaque, max.followup, MCP1, MCP1_pg_ug_2015, MCSF_pg_ug_2015, MDC,
    Med_notes, Med.ablock, Med.ACE_inh, Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet,
    Med.angiot2.antag, Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic, Med.LLD, Med.nitrate,
    Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media, MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIG, MIP1a,
    miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2TIMP2, MMP8, MMP9, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C, MRP_8_14C_buhlmann,
    MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5, neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex,
    NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1, NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter,
    Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells, Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706, oac707, oac708, oac709,
    oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3, oralgluc4,
    ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ug_2015, PAOD, PARC, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14, Percentage_CD20,
    Percentage_CD4, Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, plaquephenotype, positibl, PrimaryLast, PrimaryLast1, prostagl, PulsePressure, qual01, qual02,
    qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309, qual0310, qual0401, qual0402, qual0403, qual0404, qual0501, qual0502,
    qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908, qual0909, qual1010, qual1101, qual1102, qual1103,
    qual1104, RAAS_med, RANTES, RANTES_pg_ug_2015, RANTES_plasma, Ras, RE50_01, RE70_01, Renine_recode, renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3,
    risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610, risk611, risk612, risk613, risk614, risk615, risk616, risk617, risk618,
    risk619, risk620, SHBG, sICAM1, SMAD1_5_8, SMAD2, SMAD3, smc, smc_location, smc_macrophages_ratio, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported,
    SmokingYearOR, stat3P, statin2, statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, Stroke_Dx,
    Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER, sympt, Sympt_latest, Sympt_worst, sympt1, sympt2,
    sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var,
    Testosterone, TG_2016, TG_all, TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, thrombos, thrombus, thrombus_location, thrombus_new,
    thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest, TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g,
    TIMP1, TIMP2, TISNOW, TNFA, totalchol, totalcholesterol_source, tractdig, tractdig2, tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source,
    triglyceriden, Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID,
    validation_date, validation1, validation2, validation3, validation4, validation5, validation6, VAR00001, VEGFA_plasma, vegfa422, vessel_density,
    vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012, vessel_density_Timo2012_2, vessel_density_Timo2013, vitamin, vitamin2, vitb12, VRAGENLIJST,
    vWF_plasma, WBC_THAW, Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3,
    yearangi, yearanta, yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1,
    yearclau2, yearclop, yearcom1, yearcom2, yearcom3, yearcort, yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3,
    yearerec, yeareye, yeargluc, yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2,
    yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat,
    yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
AEDB[,"epmajor.30days"] <- AEDB$epmajor.3years
AEDB$epmajor.30days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.30days] <- 0

AEDB[,"epstroke.30days"] <- AEDB$epstroke.3years
AEDB$epstroke.30days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.30days] <- 0

AEDB[,"epcoronary.30days"] <- AEDB$epcoronary.3years
AEDB$epcoronary.30days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.30days] <- 0

AEDB[,"epcvdeath.30days"] <- AEDB$epcvdeath.3years
AEDB$epcvdeath.30days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.30days] <- 0

AEDB[,"epmajor.90days"] <- AEDB$epmajor.3years
AEDB$epmajor.90days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.90days] <- 0

AEDB[,"epstroke.90days"] <- AEDB$epstroke.3years
AEDB$epstroke.90days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.90days] <- 0

AEDB[,"epcoronary.90days"] <- AEDB$epcoronary.3years
AEDB$epcoronary.90days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.90days] <- 0

AEDB[,"epcvdeath.90days"] <- AEDB$epcvdeath.3years
AEDB$epcvdeath.90days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.90days] <- 0

detach(AEDB)

AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "epmajor.3years", "epstroke.3years", "epcoronary.3years", "epcvdeath.3years",
                                      "epmajor.30days", "epstroke.30days", "epcoronary.30days", "epcvdeath.30days",
                                      "epmajor.90days", "epstroke.90days", "epcoronary.90days", "epcvdeath.90days"))
require(labelled)
AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)

DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)


rm(AEDB.temp)

attach(AEDB.CEA)
The following objects are masked from AEDB.CEA (pos = 4):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q, AgeSQR,
    aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3,
    analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2, AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon,
    Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US, BMI_WHO, BMI30ormore, brain401, brain402, brain403, brain404,
    brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history,
    Calc.bin, calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS, CEL, CFD_recalc, cholverl,
    cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, collagen, Collagen.bin, CollagenPlaque, combi1, combi2, combi3, comorbidity.DM, concablo,
    concablo2, concablo3, concace2, concacei, concacet, concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc,
    conccalc2, conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort, conccorthorm2, concderm,
    concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc, concgluc2, concgluc3, concgluc4, concgrel, concinsu,
    conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr, concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp,
    concrheu, concrheu2, concrheu3, concsta2, concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat,
    crp_all, CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61, date_ic_patient, date_ic_researcher,
    Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst, dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2,
    dateend3, dateend4, dateend5, dateend6, dateexact_latest, dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli,
    diet801, diet802, diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817, diet818,
    diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite, duaalantiplatelet, duplend, eaindexl, eaindexr,
    eCigarettes, edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD, EMMPRIN_58kD, ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, EP_CAD,
    ep_cad_t_30days, ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite,
    EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days,
    ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days,
    ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years,
    EP_ischemic_stroke, ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time,
    ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days, EP_major_time, EP_MI, ep_mi_t_30days,
    ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years, EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years,
    EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time, EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time,
    EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days, ep_strokedeath_t_3years,
    EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years, epcoronary.30days, epcoronary.3years, epcoronary.90days,
    epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days, epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days,
    eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years,
    eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days,
    epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905, exer906, exer9071, exer9072, exer9073,
    exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4, FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40, Fat10Perc,
    Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent,
    FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp,
    FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling,
    FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp, FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp,
    FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling, FH_HC_sis, FH_HT_broth,
    FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis,
    FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent, FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat,
    FH_PAD_parent, FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis, FH_POB_broth,
    FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp, FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling,
    FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat, FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp,
    FH_tromb_mat, FH_tromb_parent, FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date,
    FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med, Gender, GFR_CG, GFR_MDRD, glucose,
    GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb, HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final,
    HDL_finalCU, hdl_source, HDL_var, heart300, heart301, heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312,
    heart313, heart314, heart315, heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327, heart328, HIF1A,
    ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs, Hypertension.selfreport,
    Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL12, IL13, IL17, IL2, IL21, IL4, IL5, IL6, IL6_pg_ug_2015, IL6R_pg_ug_2015, IL8,
    IL8_pg_ug_2015, IL9, indexsymptoms_latest, indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, informedconsent, insulin, insuline, INVULDAT,
    IP10, IPH, IPH_extended.bin, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source,
    LDL_var, leg501, leg502, leg503, leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520,
    LMW1STME, LTB4, LTB4R, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank, Macrophages.bin, MAP, Mast_cells_plaque, max.followup, MCP1,
    MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_rank, MCSF_pg_ug_2015, MDC, Med_notes, Med.ablock, Med.ACE_inh, Med.acetylsal, Med.acetylsal_Combi1,
    Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag, Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived,
    Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic, Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD,
    Med.statin2, MedHx_CVD, media, MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIG, MIP1a, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2TIMP2,
    MMP8, MMP9, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C, MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3,
    neuropsy4, neurpsy5, neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1, NOD2,
    nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells, Number_Sorted_CD8_Cells, oac701, oac702,
    oac70305, oac704, oac705, oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma, OPN, OPN_2013, OPN_plasma, OR_blood,
    Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3, oralgluc4, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ug_2015, PAOD, PARC, patch,
    PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4, Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, plaquephenotype, positibl,
    PrimaryLast, PrimaryLast1, prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309, qual0310,
    qual0401, qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907,
    qual0908, qual0909, qual1010, qual1101, qual1102, qual1103, qual1104, RAAS_med, RANTES, RANTES_pg_ug_2015, RANTES_plasma, Ras, RE50_01, RE70_01, Renine_recode,
    renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610, risk611, risk612,
    risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, SHBG, sICAM1, SMAD1_5_8, SMAD2, SMAD3, smc, SMC_LN, smc_location, smc_macrophages_ratio,
    SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P, statin2, statines, ste3mext, sten1yr, sten3mo, stenose,
    stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history,
    StrokeTIA_Symptoms, STUDY_NUMBER, sympt, Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all, TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU,
    TG_var, TGF, TGFB, thrombos, thrombus, thrombus_location, thrombus_new, thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta,
    Time_event_OR, TimeOR_latest, TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, totalchol, totalcholesterol_source, tractdig, tractdig2,
    tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK, TropoMax,
    TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID, validation_date, validation1, validation2, validation3, validation4, validation5, validation6,
    VAR00001, VEGFA_plasma, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012, vessel_density_Timo2012_2,
    vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST, vWF_plasma, WBC_THAW, Which.femoral.artery, Whichoperation,
    writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3, yearangi, yearanta, yearanta2, yearanti, yearanti2, yearbblo,
    yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2, yearclop, yearcom1, yearcom2, yearcom3, yearcort,
    yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec, yeareye, yeargluc, yeargluc2, yeargluc3, yeargluc4,
    yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2, yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor,
    yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yearthro, yearthyr, yearthyr2, yearvit2, yearvita,
    Yrs.no.smoking, Yrs.smoking
AEDB.CEA[,"epmajor.30days"] <- AEDB.CEA$epmajor.3years
AEDB.CEA$epmajor.30days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epstroke.30days"] <- AEDB.CEA$epstroke.3years
AEDB.CEA$epstroke.30days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epcoronary.30days"] <- AEDB.CEA$epcoronary.3years
AEDB.CEA$epcoronary.30days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epcvdeath.30days"] <- AEDB.CEA$epcvdeath.3years
AEDB.CEA$epcvdeath.30days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epmajor.90days"] <- AEDB.CEA$epmajor.3years
AEDB.CEA$epmajor.90days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.90days] <- 0

AEDB.CEA[,"epstroke.90days"] <- AEDB.CEA$epstroke.3years
AEDB.CEA$epstroke.90days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.90days] <- 0

AEDB.CEA[,"epcoronary.90days"] <- AEDB.CEA$epcoronary.3years
AEDB.CEA$epcoronary.90days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.90days] <- 0

AEDB.CEA[,"epcvdeath.90days"] <- AEDB.CEA$epcvdeath.3years
AEDB.CEA$epcvdeath.90days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.90days] <- 0

detach(AEDB.CEA)

AEDB.CEA.temp <- subset(AEDB.CEA,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "epmajor.3years", "epstroke.3years", "epcoronary.3years", "epcvdeath.3years",
                                      "epmajor.30days", "epstroke.30days", "epcoronary.30days", "epcvdeath.30days",
                                      "epmajor.90days", "epstroke.90days", "epcoronary.90days", "epcvdeath.90days"))
require(labelled)
AEDB.CEA.temp$Gender <- to_factor(AEDB.CEA.temp$Gender)
AEDB.CEA.temp$Hospital <- to_factor(AEDB.CEA.temp$Hospital)
AEDB.CEA.temp$Artery_summary <- to_factor(AEDB.CEA.temp$Artery_summary)

DT::datatable(AEDB.CEA.temp[1:10,], caption = "Excerpt of the whole AEDB.CEA.", rownames = FALSE)


rm(AEDB.CEA.temp)

Sanity checks

First we do some sanity checks and inventory the time-to-event and event variables.

# Reference: https://bioconductor.org/packages/devel/bioc/vignettes/MultiAssayExperiment/inst/doc/QuickStartMultiAssay.html
# If you want to suppress warnings and messages when installing/loading packages
# suppressPackageStartupMessages({})
install.packages.auto("survival")
install.packages.auto("survminer")
install.packages.auto("Hmisc")

cat("* Creating function to summarize Cox regression and prepare container for results.")
* Creating function to summarize Cox regression and prepare container for results.
# Function to get summary statistics from Cox regression model
COX.STAT <- function(coxfit, DATASET, OUTCOME, protein){
  cat("Summarizing Cox regression results for '", protein ,"' and its association to '",OUTCOME,"' in '",DATASET,"'.\n")
  if (nrow(summary(coxfit)$coefficients) == 1) {
    output = c(protein, rep(NA,8))
    cat("Model not fitted; probably singular.\n")
  }else {
    cat("Collecting data.\n\n")
    cox.sum <- summary(coxfit)
    cox.effectsize = cox.sum$coefficients[1,1]
    cox.SE = cox.sum$coefficients[1,3]
    cox.HReffect = cox.sum$coefficients[1,2]
    cox.CI_low = exp(cox.effectsize - 1.96 * cox.SE)
    cox.CI_up = exp(cox.effectsize + 1.96 * cox.SE)
    cox.zvalue = cox.sum$coefficients[1,4]
    cox.pvalue = cox.sum$coefficients[1,5]
    cox.sample_size = cox.sum$n
    cox.nevents = cox.sum$nevent
    
    output = c(DATASET, OUTCOME, protein, cox.effectsize, cox.SE, cox.HReffect, cox.CI_low, cox.CI_up, cox.zvalue, cox.pvalue, cox.sample_size, cox.nevents)
    cat("We have collected the following:\n")
    cat("Dataset used..............:", DATASET, "\n")
    cat("Outcome analyzed..........:", OUTCOME, "\n")
    cat("Protein...................:", protein, "\n")
    cat("Effect size...............:", round(cox.effectsize, 6), "\n")
    cat("Standard error............:", round(cox.SE, 6), "\n")
    cat("Odds ratio (effect size)..:", round(cox.HReffect, 3), "\n")
    cat("Lower 95% CI..............:", round(cox.CI_low, 3), "\n")
    cat("Upper 95% CI..............:", round(cox.CI_up, 3), "\n")
    cat("T-value...................:", round(cox.zvalue, 6), "\n")
    cat("P-value...................:", signif(cox.pvalue, 8), "\n")
    cat("Sample size in model......:", cox.sample_size, "\n")
    cat("Number of events..........:", cox.nevents, "\n")
  }
  return(output)
  print(output)
} 

times = c("ep_major_t_3years", 
          "ep_stroke_t_3years", "ep_coronary_t_3years", "ep_cvdeath_t_3years")

endpoints = c("epmajor.3years", 
              "epstroke.3years", "epcoronary.3years", "epcvdeath.3years")

cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints){
  require(labelled)
  print(paste0("Printing the summary of: ",events))
  # print(summary(AEDB.CEA[,events]))
  print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.3years"

   0    1 
2035  265 
[1] "Printing the summary of: epstroke.3years"

   0    1 
2171  130 
[1] "Printing the summary of: epcoronary.3years"

   0    1 
2119  182 
[1] "Printing the summary of: epcvdeath.3years"

   0    1 
2210   90 
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times){
  print(paste0("Printing the summary of: ",eventtimes))
  print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   2.710   3.000   2.573   3.000   3.000     125 
[1] "Printing the summary of: ep_stroke_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   2.877   3.000   2.624   3.000   3.000     125 
[1] "Printing the summary of: ep_coronary_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   2.784   3.000   2.622   3.000   3.000     125 
[1] "Printing the summary of: ep_cvdeath_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
0.00274 2.91233 3.00000 2.70902 3.00000 3.00000     125 
for (eventtime in times){
  
  print(paste0("Printing the distribution of: ",eventtime))
  p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
              main = eventtime, bins = 15, 
              xlab = "year", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal()) 
 print(p)
 ggsave(file = paste0(QC_loc, "/",Today,".AEDB.CEA.EventDistributionPerYear.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_3years"
[1] "Printing the distribution of: ep_stroke_t_3years"
[1] "Printing the distribution of: ep_coronary_t_3years"
[1] "Printing the distribution of: ep_cvdeath_t_3years"

times30 = c("ep_major_t_30days", 
          "ep_stroke_t_30days", "ep_coronary_t_30days", "ep_cvdeath_t_30days")

endpoints30 = c("epmajor.30days", 
              "epstroke.30days", "epcoronary.30days", "epcvdeath.30days")

cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints30){
  print(paste0("Printing the summary of: ",events))
  # print(summary(AEDB.CEA[,events]))
  print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.30days"

   0    1 
2222   78 
[1] "Printing the summary of: epstroke.30days"

   0    1 
2248   53 
[1] "Printing the summary of: epcoronary.30days"

   0    1 
2267   34 
[1] "Printing the summary of: epcvdeath.30days"

   0    1 
2288   12 
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times30){
  print(paste0("Printing the summary of: ",eventtimes))
  print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   30.00   30.00   29.09   30.00   30.00     125 
[1] "Printing the summary of: ep_stroke_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   30.00   30.00   29.32   30.00   30.00     125 
[1] "Printing the summary of: ep_coronary_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   30.00   30.00   29.54   30.00   30.00     125 
[1] "Printing the summary of: ep_cvdeath_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  1.001  30.000  30.000  29.854  30.000  30.000     125 
for (eventtime in times30){
  
  print(paste0("Printing the distribution of: ",eventtime))
  p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
              main = eventtime, bins = 15, 
              xlab = "days", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal()) 
 print(p)
 ggsave(file = paste0(QC_loc, "/",Today,".AEDB.CEA.EventDistributionPer30Days.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_30days"
[1] "Printing the distribution of: ep_stroke_t_30days"
[1] "Printing the distribution of: ep_coronary_t_30days"
[1] "Printing the distribution of: ep_cvdeath_t_30days"

times90 = c("ep_major_t_90days", 
          "ep_stroke_t_90days", "ep_coronary_t_90days", "ep_cvdeath_t_90days")

endpoints90 = c("epmajor.90days", 
              "epstroke.90days", "epcoronary.90days", "epcvdeath.90days")

cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints90){
  print(paste0("Printing the summary of: ",events))
  # print(summary(AEDB.CEA[,events]))
  print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.90days"

   0    1 
2206   94 
[1] "Printing the summary of: epstroke.90days"

   0    1 
2241   60 
[1] "Printing the summary of: epcoronary.90days"

   0    1 
2257   44 
[1] "Printing the summary of: epcvdeath.90days"

   0    1 
2281   19 
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times90){
  print(paste0("Printing the summary of: ",eventtimes))
  print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   90.00   90.00   86.75   90.00   90.00     125 
[1] "Printing the summary of: ep_stroke_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   90.00   90.00   87.51   90.00   90.00     125 
[1] "Printing the summary of: ep_coronary_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   90.00   90.00   88.21   90.00   90.00     125 
[1] "Printing the summary of: ep_cvdeath_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  1.001  90.000  90.000  89.320  90.000  90.000     125 
for (eventtime in times90){
  
  print(paste0("Printing the distribution of: ",eventtime))
  p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
              main = eventtime, bins = 15, 
              xlab = "days", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal()) 
 print(p)
 ggsave(file = paste0(QC_loc, "/",Today,".AEDB.CEA.EventDistributionPer90Days.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_90days"
[1] "Printing the distribution of: ep_stroke_t_90days"
[1] "Printing the distribution of: ep_coronary_t_90days"
[1] "Printing the distribution of: ep_cvdeath_t_90days"

Cox regressions

Let’s perform the actual Cox-regressions. We will apply a couple of models:

  • Model 1: adjusted for age, sex, and year of surgery
  • Model 2: adjusted for age, sex, year of surgery, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis

3 years follow-up

MODEL 1

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times)){
  eptime = times[i]
  ep = endpoints[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [years]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 1 (Simple model)
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)

    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         # ylim = c(0.2, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [years]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL1.pdf"), height = 12, width = 10, onefile = TRUE)
    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}
* Analyzing the effect of plaque proteins on [epmajor.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 139 
   (1237 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  1.091e-01  1.115e+00  1.852e-01  0.589 0.555839    
Age                                                        3.546e-02  1.036e+00  1.018e-02  3.484 0.000493 ***
Gendermale                                                 3.439e-01  1.410e+00  2.002e-01  1.718 0.085867 .  
ORdate_year2003                                           -3.663e-01  6.933e-01  4.208e-01 -0.870 0.384044    
ORdate_year2004                                           -6.643e-01  5.146e-01  4.191e-01 -1.585 0.112971    
ORdate_year2005                                           -2.289e-01  7.954e-01  3.944e-01 -0.580 0.561666    
ORdate_year2006                                           -2.894e-01  7.487e-01  4.011e-01 -0.721 0.470705    
ORdate_year2007                                           -1.156e+00  3.148e-01  4.752e-01 -2.432 0.015011 *  
ORdate_year2008                                           -2.303e-01  7.943e-01  4.157e-01 -0.554 0.579524    
ORdate_year2009                                           -1.074e+00  3.415e-01  4.938e-01 -2.176 0.029586 *  
ORdate_year2010                                           -8.627e-01  4.220e-01  4.793e-01 -1.800 0.071836 .  
ORdate_year2011                                           -9.679e-01  3.799e-01  4.630e-01 -2.091 0.036570 *  
ORdate_year2012                                           -1.132e-01  8.930e-01  4.019e-01 -0.282 0.778167    
ORdate_year2013                                           -4.015e-01  6.693e-01  6.625e-01 -0.606 0.544476    
ORdate_year2014                                           -1.360e+01  1.235e-06  1.979e+03 -0.007 0.994515    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 1.115e+00  8.966e-01    0.7757    1.6035
Age                                                       1.036e+00  9.652e-01    1.0156    1.0570
Gendermale                                                1.410e+00  7.090e-01    0.9526    2.0883
ORdate_year2003                                           6.933e-01  1.442e+00    0.3039    1.5817
ORdate_year2004                                           5.146e-01  1.943e+00    0.2263    1.1702
ORdate_year2005                                           7.954e-01  1.257e+00    0.3672    1.7231
ORdate_year2006                                           7.487e-01  1.336e+00    0.3411    1.6436
ORdate_year2007                                           3.148e-01  3.176e+00    0.1240    0.7990
ORdate_year2008                                           7.943e-01  1.259e+00    0.3516    1.7940
ORdate_year2009                                           3.415e-01  2.928e+00    0.1297    0.8990
ORdate_year2010                                           4.220e-01  2.370e+00    0.1650    1.0796
ORdate_year2011                                           3.799e-01  2.632e+00    0.1533    0.9413
ORdate_year2012                                           8.930e-01  1.120e+00    0.4062    1.9630
ORdate_year2013                                           6.693e-01  1.494e+00    0.1827    2.4521
ORdate_year2014                                           1.235e-06  8.098e+05    0.0000       Inf
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.633  (se = 0.023 )
Likelihood ratio test= 33.73  on 15 df,   p=0.004
Wald test            = 31.56  on 15 df,   p=0.007
Score (logrank) test = 32.54  on 15 df,   p=0.005


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.10911 
Standard error............: 0.185237 
Odds ratio (effect size)..: 1.115 
Lower 95% CI..............: 0.776 
Upper 95% CI..............: 1.603 
T-value...................: 0.589033 
P-value...................: 0.555839 
Sample size in model......: 1186 
Number of events..........: 139 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 140 
   (1236 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] -1.243e-02  9.876e-01  1.897e-01 -0.066 0.947733    
Age                                                        3.527e-02  1.036e+00  1.016e-02  3.472 0.000516 ***
Gendermale                                                 3.589e-01  1.432e+00  2.009e-01  1.787 0.073979 .  
ORdate_year2003                                           -3.728e-01  6.888e-01  4.212e-01 -0.885 0.376068    
ORdate_year2004                                           -7.057e-01  4.938e-01  4.194e-01 -1.683 0.092454 .  
ORdate_year2005                                           -2.619e-01  7.696e-01  3.947e-01 -0.664 0.506906    
ORdate_year2006                                           -3.132e-01  7.311e-01  3.994e-01 -0.784 0.432964    
ORdate_year2007                                           -1.154e+00  3.155e-01  4.752e-01 -2.428 0.015187 *  
ORdate_year2008                                           -2.196e-01  8.028e-01  4.162e-01 -0.528 0.597643    
ORdate_year2009                                           -1.063e+00  3.453e-01  4.951e-01 -2.148 0.031752 *  
ORdate_year2010                                           -8.290e-01  4.365e-01  4.784e-01 -1.733 0.083073 .  
ORdate_year2011                                           -9.444e-01  3.889e-01  4.641e-01 -2.035 0.041870 *  
ORdate_year2012                                           -4.363e-02  9.573e-01  4.006e-01 -0.109 0.913277    
ORdate_year2013                                           -3.635e-01  6.953e-01  6.626e-01 -0.549 0.583345    
ORdate_year2014                                           -1.355e+01  1.305e-06  1.976e+03 -0.007 0.994528    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 9.876e-01  1.013e+00    0.6810    1.4323
Age                                                       1.036e+00  9.653e-01    1.0155    1.0567
Gendermale                                                1.432e+00  6.984e-01    0.9658    2.1227
ORdate_year2003                                           6.888e-01  1.452e+00    0.3017    1.5725
ORdate_year2004                                           4.938e-01  2.025e+00    0.2170    1.1234
ORdate_year2005                                           7.696e-01  1.299e+00    0.3551    1.6679
ORdate_year2006                                           7.311e-01  1.368e+00    0.3342    1.5993
ORdate_year2007                                           3.155e-01  3.170e+00    0.1243    0.8006
ORdate_year2008                                           8.028e-01  1.246e+00    0.3551    1.8149
ORdate_year2009                                           3.453e-01  2.896e+00    0.1309    0.9113
ORdate_year2010                                           4.365e-01  2.291e+00    0.1709    1.1146
ORdate_year2011                                           3.889e-01  2.571e+00    0.1566    0.9659
ORdate_year2012                                           9.573e-01  1.045e+00    0.4366    2.0991
ORdate_year2013                                           6.953e-01  1.438e+00    0.1897    2.5480
ORdate_year2014                                           1.305e-06  7.663e+05    0.0000       Inf
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.633  (se = 0.023 )
Likelihood ratio test= 34.49  on 15 df,   p=0.003
Wald test            = 32.37  on 15 df,   p=0.006
Score (logrank) test = 33.42  on 15 df,   p=0.004


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: -0.012433 
Standard error............: 0.189652 
Odds ratio (effect size)..: 0.988 
Lower 95% CI..............: 0.681 
Upper 95% CI..............: 1.432 
T-value...................: -0.065554 
P-value...................: 0.9477325 
Sample size in model......: 1187 
Number of events..........: 140 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 70 
   (1874 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -0.27322   0.76093  0.25377 -1.077   0.2816  
Age                                                        0.02471   1.02502  0.01495  1.653   0.0983 .
Gendermale                                                 0.88580   2.42492  0.34390  2.576   0.0100 *
ORdate_year2003                                           -0.67512   0.50910  0.40377 -1.672   0.0945 .
ORdate_year2004                                           -0.65763   0.51808  0.38433 -1.711   0.0871 .
ORdate_year2005                                           -0.51750   0.59601  0.37326 -1.386   0.1656  
ORdate_year2006                                           -0.08358   0.91982  0.52051 -0.161   0.8724  
ORdate_year2007                                                 NA        NA  0.00000     NA       NA  
ORdate_year2008                                                 NA        NA  0.00000     NA       NA  
ORdate_year2009                                                 NA        NA  0.00000     NA       NA  
ORdate_year2010                                                 NA        NA  0.00000     NA       NA  
ORdate_year2011                                                 NA        NA  0.00000     NA       NA  
ORdate_year2012                                                 NA        NA  0.00000     NA       NA  
ORdate_year2013                                                 NA        NA  0.00000     NA       NA  
ORdate_year2014                                                 NA        NA  0.00000     NA       NA  
ORdate_year2015                                                 NA        NA  0.00000     NA       NA  
ORdate_year2016                                                 NA        NA  0.00000     NA       NA  
ORdate_year2017                                                 NA        NA  0.00000     NA       NA  
ORdate_year2018                                                 NA        NA  0.00000     NA       NA  
ORdate_year2019                                                 NA        NA  0.00000     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    0.7609     1.3142    0.4627     1.251
Age                                                          1.0250     0.9756    0.9954     1.055
Gendermale                                                   2.4249     0.4124    1.2359     4.758
ORdate_year2003                                              0.5091     1.9643    0.2307     1.123
ORdate_year2004                                              0.5181     1.9302    0.2439     1.100
ORdate_year2005                                              0.5960     1.6778    0.2868     1.239
ORdate_year2006                                              0.9198     1.0872    0.3316     2.551
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.626  (se = 0.033 )
Likelihood ratio test= 16.42  on 7 df,   p=0.02
Wald test            = 15.26  on 7 df,   p=0.03
Score (logrank) test = 15.86  on 7 df,   p=0.03


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.273217 
Standard error............: 0.253769 
Odds ratio (effect size)..: 0.761 
Lower 95% CI..............: 0.463 
Upper 95% CI..............: 1.251 
T-value...................: -1.076636 
P-value...................: 0.281643 
Sample size in model......: 549 
Number of events..........: 70 
* Analyzing the effect of plaque proteins on [epstroke.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 73 
   (1237 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  3.059e-01  1.358e+00  2.579e-01  1.186  0.23552   
Age                                                        3.694e-02  1.038e+00  1.389e-02  2.659  0.00783 **
Gendermale                                                 6.936e-02  1.072e+00  2.599e-01  0.267  0.78957   
ORdate_year2003                                           -2.527e-01  7.767e-01  5.861e-01 -0.431  0.66634   
ORdate_year2004                                           -4.252e-01  6.536e-01  5.780e-01 -0.736  0.46188   
ORdate_year2005                                            6.441e-02  1.067e+00  5.382e-01  0.120  0.90474   
ORdate_year2006                                           -6.122e-02  9.406e-01  5.516e-01 -0.111  0.91164   
ORdate_year2007                                           -8.964e-01  4.080e-01  6.335e-01 -1.415  0.15706   
ORdate_year2008                                           -4.147e-01  6.605e-01  6.076e-01 -0.683  0.49490   
ORdate_year2009                                           -1.757e+01  2.333e-08  2.052e+03 -0.009  0.99317   
ORdate_year2010                                           -4.941e-01  6.101e-01  6.123e-01 -0.807  0.41976   
ORdate_year2011                                           -8.580e-01  4.240e-01  6.362e-01 -1.349  0.17749   
ORdate_year2012                                           -1.869e-01  8.295e-01  5.739e-01 -0.326  0.74469   
ORdate_year2013                                           -8.291e-01  4.364e-01  1.099e+00 -0.754  0.45068   
ORdate_year2014                                           -1.757e+01  2.349e-08  2.099e+04 -0.001  0.99933   
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 1.358e+00  7.364e-01   0.81912     2.251
Age                                                       1.038e+00  9.637e-01   1.00976     1.066
Gendermale                                                1.072e+00  9.330e-01   0.64399     1.784
ORdate_year2003                                           7.767e-01  1.288e+00   0.24621     2.450
ORdate_year2004                                           6.536e-01  1.530e+00   0.21055     2.029
ORdate_year2005                                           1.067e+00  9.376e-01   0.37138     3.063
ORdate_year2006                                           9.406e-01  1.063e+00   0.31905     2.773
ORdate_year2007                                           4.080e-01  2.451e+00   0.11789     1.412
ORdate_year2008                                           6.605e-01  1.514e+00   0.20076     2.173
ORdate_year2009                                           2.333e-08  4.286e+07   0.00000       Inf
ORdate_year2010                                           6.101e-01  1.639e+00   0.18374     2.026
ORdate_year2011                                           4.240e-01  2.358e+00   0.12185     1.476
ORdate_year2012                                           8.295e-01  1.205e+00   0.26939     2.555
ORdate_year2013                                           4.364e-01  2.291e+00   0.05061     3.763
ORdate_year2014                                           2.349e-08  4.257e+07   0.00000       Inf
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.658  (se = 0.031 )
Likelihood ratio test= 27.64  on 15 df,   p=0.02
Wald test            = 7.14  on 15 df,   p=1
Score (logrank) test = 21.29  on 15 df,   p=0.1


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.305917 
Standard error............: 0.257882 
Odds ratio (effect size)..: 1.358 
Lower 95% CI..............: 0.819 
Upper 95% CI..............: 2.251 
T-value...................: 1.186266 
P-value...................: 0.2355172 
Sample size in model......: 1186 
Number of events..........: 73 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 74 
   (1236 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  8.025e-02  1.084e+00  2.608e-01  0.308  0.75826   
Age                                                        3.618e-02  1.037e+00  1.384e-02  2.614  0.00894 **
Gendermale                                                 9.547e-02  1.100e+00  2.604e-01  0.367  0.71390   
ORdate_year2003                                           -2.679e-01  7.650e-01  5.867e-01 -0.457  0.64799   
ORdate_year2004                                           -5.056e-01  6.032e-01  5.778e-01 -0.875  0.38162   
ORdate_year2005                                           -1.701e-05  1.000e+00  5.384e-01  0.000  0.99997   
ORdate_year2006                                           -1.243e-01  8.831e-01  5.489e-01 -0.226  0.82088   
ORdate_year2007                                           -8.959e-01  4.082e-01  6.334e-01 -1.414  0.15728   
ORdate_year2008                                           -4.022e-01  6.689e-01  6.082e-01 -0.661  0.50844   
ORdate_year2009                                           -1.756e+01  2.362e-08  2.047e+03 -0.009  0.99315   
ORdate_year2010                                           -4.281e-01  6.518e-01  6.111e-01 -0.700  0.48366   
ORdate_year2011                                           -8.265e-01  4.376e-01  6.377e-01 -1.296  0.19496   
ORdate_year2012                                           -5.342e-02  9.480e-01  5.650e-01 -0.095  0.92468   
ORdate_year2013                                           -7.674e-01  4.642e-01  1.100e+00 -0.698  0.48529   
ORdate_year2014                                           -1.747e+01  2.591e-08  2.081e+04 -0.001  0.99933   
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.084e+00  9.229e-01   0.64998     1.806
Age                                                       1.037e+00  9.645e-01   1.00910     1.065
Gendermale                                                1.100e+00  9.089e-01   0.66041     1.833
ORdate_year2003                                           7.650e-01  1.307e+00   0.24224     2.416
ORdate_year2004                                           6.032e-01  1.658e+00   0.19435     1.872
ORdate_year2005                                           1.000e+00  1.000e+00   0.34813     2.872
ORdate_year2006                                           8.831e-01  1.132e+00   0.30119     2.590
ORdate_year2007                                           4.082e-01  2.449e+00   0.11796     1.413
ORdate_year2008                                           6.689e-01  1.495e+00   0.20309     2.203
ORdate_year2009                                           2.362e-08  4.234e+07   0.00000       Inf
ORdate_year2010                                           6.518e-01  1.534e+00   0.19674     2.159
ORdate_year2011                                           4.376e-01  2.285e+00   0.12538     1.527
ORdate_year2012                                           9.480e-01  1.055e+00   0.31323     2.869
ORdate_year2013                                           4.642e-01  2.154e+00   0.05379     4.007
ORdate_year2014                                           2.591e-08  3.860e+07   0.00000       Inf
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.651  (se = 0.03 )
Likelihood ratio test= 27.21  on 15 df,   p=0.03
Wald test            = 6.34  on 15 df,   p=1
Score (logrank) test = 20.9  on 15 df,   p=0.1


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.080251 
Standard error............: 0.260754 
Odds ratio (effect size)..: 1.084 
Lower 95% CI..............: 0.65 
Upper 95% CI..............: 1.806 
T-value...................: 0.307764 
P-value...................: 0.7582618 
Sample size in model......: 1187 
Number of events..........: 74 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 36 
   (1874 observations deleted due to missingness)

                                                               coef exp(coef)  se(coef)      z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -0.382334  0.682267  0.351409 -1.088    0.277
Age                                                        0.006951  1.006975  0.019912  0.349    0.727
Gendermale                                                 0.346148  1.413612  0.404465  0.856    0.392
ORdate_year2003                                           -0.384209  0.680989  0.589009 -0.652    0.514
ORdate_year2004                                           -0.284457  0.752423  0.554563 -0.513    0.608
ORdate_year2005                                           -0.219538  0.802890  0.548005 -0.401    0.689
ORdate_year2006                                           -0.200554  0.818277  0.856136 -0.234    0.815
ORdate_year2007                                                  NA        NA  0.000000     NA       NA
ORdate_year2008                                                  NA        NA  0.000000     NA       NA
ORdate_year2009                                                  NA        NA  0.000000     NA       NA
ORdate_year2010                                                  NA        NA  0.000000     NA       NA
ORdate_year2011                                                  NA        NA  0.000000     NA       NA
ORdate_year2012                                                  NA        NA  0.000000     NA       NA
ORdate_year2013                                                  NA        NA  0.000000     NA       NA
ORdate_year2014                                                  NA        NA  0.000000     NA       NA
ORdate_year2015                                                  NA        NA  0.000000     NA       NA
ORdate_year2016                                                  NA        NA  0.000000     NA       NA
ORdate_year2017                                                  NA        NA  0.000000     NA       NA
ORdate_year2018                                                  NA        NA  0.000000     NA       NA
ORdate_year2019                                                  NA        NA  0.000000     NA       NA

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    0.6823     1.4657    0.3426     1.359
Age                                                          1.0070     0.9931    0.9684     1.047
Gendermale                                                   1.4136     0.7074    0.6398     3.123
ORdate_year2003                                              0.6810     1.4685    0.2147     2.160
ORdate_year2004                                              0.7524     1.3290    0.2538     2.231
ORdate_year2005                                              0.8029     1.2455    0.2743     2.350
ORdate_year2006                                              0.8183     1.2221    0.1528     4.382
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.562  (se = 0.042 )
Likelihood ratio test= 2.39  on 7 df,   p=0.9
Wald test            = 2.32  on 7 df,   p=0.9
Score (logrank) test = 2.33  on 7 df,   p=0.9


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.382334 
Standard error............: 0.351409 
Odds ratio (effect size)..: 0.682 
Lower 95% CI..............: 0.343 
Upper 95% CI..............: 1.359 
T-value...................: -1.088003 
P-value...................: 0.2765937 
Sample size in model......: 549 
Number of events..........: 36 
* Analyzing the effect of plaque proteins on [epcoronary.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 91 
   (1237 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -0.21553   0.80611  0.22795 -0.946   0.3444  
Age                                                        0.01118   1.01125  0.01240  0.901   0.3673  
Gendermale                                                 0.67583   1.96567  0.27042  2.499   0.0124 *
ORdate_year2003                                           -0.06077   0.94104  0.44392 -0.137   0.8911  
ORdate_year2004                                           -0.94266   0.38959  0.49032 -1.923   0.0545 .
ORdate_year2005                                           -0.77760   0.45951  0.48894 -1.590   0.1118  
ORdate_year2006                                           -0.73396   0.48000  0.48769 -1.505   0.1323  
ORdate_year2007                                           -1.13892   0.32016  0.54048 -2.107   0.0351 *
ORdate_year2008                                           -0.32424   0.72308  0.48704 -0.666   0.5056  
ORdate_year2009                                           -1.06744   0.34389  0.57068 -1.870   0.0614 .
ORdate_year2010                                           -1.12460   0.32478  0.61751 -1.821   0.0686 .
ORdate_year2011                                           -1.17692   0.30823  0.57416 -2.050   0.0404 *
ORdate_year2012                                           -0.26436   0.76770  0.47791 -0.553   0.5802  
ORdate_year2013                                           -0.33184   0.71761  0.79690 -0.416   0.6771  
ORdate_year2014                                            2.10877   8.23807  1.07107  1.969   0.0490 *
ORdate_year2015                                                 NA        NA  0.00000     NA       NA  
ORdate_year2016                                                 NA        NA  0.00000     NA       NA  
ORdate_year2017                                                 NA        NA  0.00000     NA       NA  
ORdate_year2018                                                 NA        NA  0.00000     NA       NA  
ORdate_year2019                                                 NA        NA  0.00000     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]    0.8061     1.2405   0.51566    1.2602
Age                                                          1.0112     0.9889   0.98696    1.0361
Gendermale                                                   1.9657     0.5087   1.15699    3.3396
ORdate_year2003                                              0.9410     1.0627   0.39422    2.2463
ORdate_year2004                                              0.3896     2.5668   0.14902    1.0185
ORdate_year2005                                              0.4595     2.1762   0.17624    1.1981
ORdate_year2006                                              0.4800     2.0833   0.18455    1.2485
ORdate_year2007                                              0.3202     3.1234   0.11100    0.9235
ORdate_year2008                                              0.7231     1.3830   0.27837    1.8783
ORdate_year2009                                              0.3439     2.9079   0.11237    1.0524
ORdate_year2010                                              0.3248     3.0790   0.09682    1.0895
ORdate_year2011                                              0.3082     3.2444   0.10003    0.9497
ORdate_year2012                                              0.7677     1.3026   0.30088    1.9588
ORdate_year2013                                              0.7176     1.3935   0.15051    3.4214
ORdate_year2014                                              8.2381     0.1214   1.00955   67.2237
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.642  (se = 0.031 )
Likelihood ratio test= 27.09  on 15 df,   p=0.03
Wald test            = 29.47  on 15 df,   p=0.01
Score (logrank) test = 37.33  on 15 df,   p=0.001


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.215531 
Standard error............: 0.227948 
Odds ratio (effect size)..: 0.806 
Lower 95% CI..............: 0.516 
Upper 95% CI..............: 1.26 
T-value...................: -0.945527 
P-value...................: 0.3443898 
Sample size in model......: 1186 
Number of events..........: 91 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 91 
   (1236 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  0.06316   1.06519  0.23409  0.270   0.7873  
Age                                                        0.01131   1.01137  0.01240  0.912   0.3619  
Gendermale                                                 0.64893   1.91350  0.27179  2.388   0.0170 *
ORdate_year2003                                           -0.05230   0.94905  0.44420 -0.118   0.9063  
ORdate_year2004                                           -0.85654   0.42463  0.49277 -1.738   0.0822 .
ORdate_year2005                                           -0.70863   0.49232  0.49021 -1.446   0.1483  
ORdate_year2006                                           -0.69400   0.49957  0.48622 -1.427   0.1535  
ORdate_year2007                                           -1.14851   0.31711  0.54050 -2.125   0.0336 *
ORdate_year2008                                           -0.35417   0.70176  0.48738 -0.727   0.4674  
ORdate_year2009                                           -1.10011   0.33283  0.57243 -1.922   0.0546 .
ORdate_year2010                                           -1.20428   0.29991  0.61538 -1.957   0.0504 .
ORdate_year2011                                           -1.24303   0.28851  0.57491 -2.162   0.0306 *
ORdate_year2012                                           -0.34161   0.71063  0.48030 -0.711   0.4769  
ORdate_year2013                                           -0.42740   0.65220  0.79633 -0.537   0.5915  
ORdate_year2014                                            1.97047   7.17408  1.06996  1.842   0.0655 .
ORdate_year2015                                                 NA        NA  0.00000     NA       NA  
ORdate_year2016                                                 NA        NA  0.00000     NA       NA  
ORdate_year2017                                                 NA        NA  0.00000     NA       NA  
ORdate_year2018                                                 NA        NA  0.00000     NA       NA  
ORdate_year2019                                                 NA        NA  0.00000     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]    1.0652     0.9388   0.67325    1.6853
Age                                                          1.0114     0.9888   0.98709    1.0363
Gendermale                                                   1.9135     0.5226   1.12326    3.2597
ORdate_year2003                                              0.9490     1.0537   0.39736    2.2667
ORdate_year2004                                              0.4246     2.3550   0.16164    1.1155
ORdate_year2005                                              0.4923     2.0312   0.18835    1.2868
ORdate_year2006                                              0.4996     2.0017   0.19263    1.2956
ORdate_year2007                                              0.3171     3.1535   0.10993    0.9147
ORdate_year2008                                              0.7018     1.4250   0.26998    1.8241
ORdate_year2009                                              0.3328     3.0045   0.10839    1.0221
ORdate_year2010                                              0.2999     3.3344   0.08978    1.0018
ORdate_year2011                                              0.2885     3.4661   0.09350    0.8903
ORdate_year2012                                              0.7106     1.4072   0.27721    1.8217
ORdate_year2013                                              0.6522     1.5333   0.13695    3.1061
ORdate_year2014                                              7.1741     0.1394   0.88107   58.4147
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.639  (se = 0.031 )
Likelihood ratio test= 26.15  on 15 df,   p=0.04
Wald test            = 28.69  on 15 df,   p=0.02
Score (logrank) test = 36.58  on 15 df,   p=0.001


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.063156 
Standard error............: 0.234085 
Odds ratio (effect size)..: 1.065 
Lower 95% CI..............: 0.673 
Upper 95% CI..............: 1.685 
T-value...................: 0.2698 
P-value...................: 0.7873138 
Sample size in model......: 1187 
Number of events..........: 91 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 46 
   (1874 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]  0.19648   1.21711  0.31418  0.625   0.5317  
Age                                                        0.03677   1.03745  0.01891  1.944   0.0519 .
Gendermale                                                 0.92058   2.51074  0.44004  2.092   0.0364 *
ORdate_year2003                                           -0.17409   0.84022  0.43219 -0.403   0.6871  
ORdate_year2004                                           -0.81070   0.44455  0.47567 -1.704   0.0883 .
ORdate_year2005                                           -0.67062   0.51139  0.45675 -1.468   0.1420  
ORdate_year2006                                           -0.70564   0.49379  0.79859 -0.884   0.3769  
ORdate_year2007                                                 NA        NA  0.00000     NA       NA  
ORdate_year2008                                                 NA        NA  0.00000     NA       NA  
ORdate_year2009                                                 NA        NA  0.00000     NA       NA  
ORdate_year2010                                                 NA        NA  0.00000     NA       NA  
ORdate_year2011                                                 NA        NA  0.00000     NA       NA  
ORdate_year2012                                                 NA        NA  0.00000     NA       NA  
ORdate_year2013                                                 NA        NA  0.00000     NA       NA  
ORdate_year2014                                                 NA        NA  0.00000     NA       NA  
ORdate_year2015                                                 NA        NA  0.00000     NA       NA  
ORdate_year2016                                                 NA        NA  0.00000     NA       NA  
ORdate_year2017                                                 NA        NA  0.00000     NA       NA  
ORdate_year2018                                                 NA        NA  0.00000     NA       NA  
ORdate_year2019                                                 NA        NA  0.00000     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    1.2171     0.8216    0.6575     2.253
Age                                                          1.0374     0.9639    0.9997     1.077
Gendermale                                                   2.5107     0.3983    1.0598     5.948
ORdate_year2003                                              0.8402     1.1902    0.3602     1.960
ORdate_year2004                                              0.4445     2.2495    0.1750     1.129
ORdate_year2005                                              0.5114     1.9555    0.2089     1.252
ORdate_year2006                                              0.4938     2.0251    0.1032     2.362
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.66  (se = 0.037 )
Likelihood ratio test= 15.3  on 7 df,   p=0.03
Wald test            = 14.05  on 7 df,   p=0.05
Score (logrank) test = 14.66  on 7 df,   p=0.04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_rank 
Effect size...............: 0.196482 
Standard error............: 0.314184 
Odds ratio (effect size)..: 1.217 
Lower 95% CI..............: 0.657 
Upper 95% CI..............: 2.253 
T-value...................: 0.625374 
P-value...................: 0.5317255 
Sample size in model......: 549 
Number of events..........: 46 
* Analyzing the effect of plaque proteins on [epcvdeath.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 45 
   (1237 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -2.904e-02  9.714e-01  3.235e-01 -0.090   0.9285    
Age                                                        9.205e-02  1.096e+00  2.033e-02  4.527 5.99e-06 ***
Gendermale                                                 8.922e-01  2.440e+00  4.135e-01  2.158   0.0309 *  
ORdate_year2003                                           -2.845e-01  7.524e-01  6.713e-01 -0.424   0.6718    
ORdate_year2004                                           -8.294e-01  4.363e-01  6.800e-01 -1.220   0.2225    
ORdate_year2005                                           -7.072e-01  4.930e-01  6.772e-01 -1.044   0.2963    
ORdate_year2006                                           -7.109e-01  4.912e-01  6.751e-01 -1.053   0.2923    
ORdate_year2007                                           -1.280e+00  2.782e-01  7.662e-01 -1.670   0.0949 .  
ORdate_year2008                                           -6.812e-01  5.060e-01  7.118e-01 -0.957   0.3386    
ORdate_year2009                                           -1.048e+00  3.506e-01  7.670e-01 -1.366   0.1718    
ORdate_year2010                                           -1.042e+00  3.527e-01  7.771e-01 -1.341   0.1799    
ORdate_year2011                                           -1.754e+00  1.731e-01  8.747e-01 -2.005   0.0450 *  
ORdate_year2012                                           -6.007e-01  5.484e-01  6.804e-01 -0.883   0.3773    
ORdate_year2013                                           -6.508e-01  5.216e-01  1.127e+00 -0.577   0.5638    
ORdate_year2014                                           -1.368e+01  1.146e-06  3.890e+03 -0.004   0.9972    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 9.714e-01  1.029e+00   0.51525    1.8313
Age                                                       1.096e+00  9.121e-01   1.05358    1.1410
Gendermale                                                2.440e+00  4.098e-01   1.08521    5.4878
ORdate_year2003                                           7.524e-01  1.329e+00   0.20186    2.8046
ORdate_year2004                                           4.363e-01  2.292e+00   0.11507    1.6542
ORdate_year2005                                           4.930e-01  2.028e+00   0.13073    1.8591
ORdate_year2006                                           4.912e-01  2.036e+00   0.13079    1.8446
ORdate_year2007                                           2.782e-01  3.595e+00   0.06196    1.2487
ORdate_year2008                                           5.060e-01  1.976e+00   0.12539    2.0420
ORdate_year2009                                           3.506e-01  2.852e+00   0.07797    1.5767
ORdate_year2010                                           3.527e-01  2.835e+00   0.07691    1.6175
ORdate_year2011                                           1.731e-01  5.776e+00   0.03118    0.9614
ORdate_year2012                                           5.484e-01  1.823e+00   0.14453    2.0812
ORdate_year2013                                           5.216e-01  1.917e+00   0.05726    4.7526
ORdate_year2014                                           1.146e-06  8.725e+05   0.00000       Inf
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.732  (se = 0.037 )
Likelihood ratio test= 33.9  on 15 df,   p=0.004
Wald test            = 29.06  on 15 df,   p=0.02
Score (logrank) test = 30.01  on 15 df,   p=0.01


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.029035 
Standard error............: 0.323507 
Odds ratio (effect size)..: 0.971 
Lower 95% CI..............: 0.515 
Upper 95% CI..............: 1.831 
T-value...................: -0.089752 
P-value...................: 0.9284844 
Sample size in model......: 1186 
Number of events..........: 45 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 45 
   (1236 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] -2.013e-01  8.177e-01  3.330e-01 -0.604   0.5455    
Age                                                        9.257e-02  1.097e+00  2.031e-02  4.558 5.17e-06 ***
Gendermale                                                 9.156e-01  2.498e+00  4.152e-01  2.205   0.0274 *  
ORdate_year2003                                           -3.002e-01  7.406e-01  6.718e-01 -0.447   0.6550    
ORdate_year2004                                           -8.848e-01  4.128e-01  6.796e-01 -1.302   0.1930    
ORdate_year2005                                           -7.587e-01  4.683e-01  6.786e-01 -1.118   0.2636    
ORdate_year2006                                           -7.048e-01  4.942e-01  6.728e-01 -1.047   0.2949    
ORdate_year2007                                           -1.269e+00  2.811e-01  7.661e-01 -1.657   0.0976 .  
ORdate_year2008                                           -6.525e-01  5.207e-01  7.124e-01 -0.916   0.3597    
ORdate_year2009                                           -1.005e+00  3.659e-01  7.703e-01 -1.305   0.1918    
ORdate_year2010                                           -1.003e+00  3.667e-01  7.748e-01 -1.295   0.1954    
ORdate_year2011                                           -1.709e+00  1.810e-01  8.762e-01 -1.950   0.0511 .  
ORdate_year2012                                           -5.593e-01  5.716e-01  6.857e-01 -0.816   0.4147    
ORdate_year2013                                           -5.827e-01  5.584e-01  1.128e+00 -0.516   0.6055    
ORdate_year2014                                           -1.359e+01  1.251e-06  3.895e+03 -0.003   0.9972    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 8.177e-01  1.223e+00   0.42575     1.570
Age                                                       1.097e+00  9.116e-01   1.05418     1.142
Gendermale                                                2.498e+00  4.003e-01   1.10717     5.638
ORdate_year2003                                           7.406e-01  1.350e+00   0.19849     2.764
ORdate_year2004                                           4.128e-01  2.422e+00   0.10895     1.564
ORdate_year2005                                           4.683e-01  2.135e+00   0.12384     1.771
ORdate_year2006                                           4.942e-01  2.023e+00   0.13220     1.848
ORdate_year2007                                           2.811e-01  3.558e+00   0.06262     1.262
ORdate_year2008                                           5.207e-01  1.920e+00   0.12889     2.104
ORdate_year2009                                           3.659e-01  2.733e+00   0.08085     1.656
ORdate_year2010                                           3.667e-01  2.727e+00   0.08033     1.674
ORdate_year2011                                           1.810e-01  5.524e+00   0.03250     1.008
ORdate_year2012                                           5.716e-01  1.750e+00   0.14907     2.192
ORdate_year2013                                           5.584e-01  1.791e+00   0.06116     5.098
ORdate_year2014                                           1.251e-06  7.992e+05   0.00000       Inf
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.733  (se = 0.037 )
Likelihood ratio test= 34.22  on 15 df,   p=0.003
Wald test            = 29.53  on 15 df,   p=0.01
Score (logrank) test = 30.23  on 15 df,   p=0.01


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: -0.201269 
Standard error............: 0.332978 
Odds ratio (effect size)..: 0.818 
Lower 95% CI..............: 0.426 
Upper 95% CI..............: 1.57 
T-value...................: -0.604452 
P-value...................: 0.5455431 
Sample size in model......: 1187 
Number of events..........: 45 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 26 
   (1874 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -0.09793   0.90671  0.41602 -0.235   0.8139  
Age                                                        0.05263   1.05404  0.02576  2.043   0.0410 *
Gendermale                                                 1.06154   2.89081  0.61643  1.722   0.0851 .
ORdate_year2003                                           -1.05582   0.34791  0.65095 -1.622   0.1048  
ORdate_year2004                                           -0.83426   0.43420  0.58109 -1.436   0.1511  
ORdate_year2005                                           -0.74400   0.47521  0.56878 -1.308   0.1909  
ORdate_year2006                                           -0.42705   0.65243  0.84244 -0.507   0.6122  
ORdate_year2007                                                 NA        NA  0.00000     NA       NA  
ORdate_year2008                                                 NA        NA  0.00000     NA       NA  
ORdate_year2009                                                 NA        NA  0.00000     NA       NA  
ORdate_year2010                                                 NA        NA  0.00000     NA       NA  
ORdate_year2011                                                 NA        NA  0.00000     NA       NA  
ORdate_year2012                                                 NA        NA  0.00000     NA       NA  
ORdate_year2013                                                 NA        NA  0.00000     NA       NA  
ORdate_year2014                                                 NA        NA  0.00000     NA       NA  
ORdate_year2015                                                 NA        NA  0.00000     NA       NA  
ORdate_year2016                                                 NA        NA  0.00000     NA       NA  
ORdate_year2017                                                 NA        NA  0.00000     NA       NA  
ORdate_year2018                                                 NA        NA  0.00000     NA       NA  
ORdate_year2019                                                 NA        NA  0.00000     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    0.9067     1.1029   0.40119     2.049
Age                                                          1.0540     0.9487   1.00215     1.109
Gendermale                                                   2.8908     0.3459   0.86360     9.677
ORdate_year2003                                              0.3479     2.8743   0.09713     1.246
ORdate_year2004                                              0.4342     2.3031   0.13901     1.356
ORdate_year2005                                              0.4752     2.1043   0.15586     1.449
ORdate_year2006                                              0.6524     1.5327   0.12516     3.401
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA

Concordance= 0.692  (se = 0.05 )
Likelihood ratio test= 12.26  on 7 df,   p=0.09
Wald test            = 11.31  on 7 df,   p=0.1
Score (logrank) test = 11.89  on 7 df,   p=0.1


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.097933 
Standard error............: 0.416021 
Odds ratio (effect size)..: 0.907 
Lower 95% CI..............: 0.401 
Upper 95% CI..............: 2.049 
T-value...................: -0.235405 
P-value...................: 0.8138946 
Sample size in model......: 549 
Number of events..........: 26 

cat("- Edit the column names...\n")
- Edit the column names...
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
- Correct the variable types...
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
- Writing results to Excel-file...
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
- Removing intermediate files...
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

#rm(head.style)

MODEL 2

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times)){
  eptime = times[i]
  ep = endpoints[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  #as.integer(TEMP.DF[,ep] == "Excluded")

  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [years]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)

  
    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         # ylim = c(0.2, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [years]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL2.pdf"), height = 12, width = 10, onefile = TRUE)

    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}
* Analyzing the effect of plaque proteins on [epmajor.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 115 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  2.569e-01  1.293e+00  2.050e-01  1.253  0.21012    
Age                                                        3.470e-02  1.035e+00  1.316e-02  2.637  0.00836 ** 
Gendermale                                                 3.732e-01  1.452e+00  2.288e-01  1.631  0.10282    
ORdate_year2003                                           -3.123e-01  7.318e-01  4.535e-01 -0.689  0.49105    
ORdate_year2004                                           -4.291e-01  6.511e-01  4.410e-01 -0.973  0.33054    
ORdate_year2005                                            1.479e-01  1.159e+00  4.254e-01  0.348  0.72803    
ORdate_year2006                                            3.386e-02  1.034e+00  4.323e-01  0.078  0.93756    
ORdate_year2007                                           -7.204e-01  4.866e-01  5.153e-01 -1.398  0.16211    
ORdate_year2008                                           -1.105e-01  8.954e-01  4.827e-01 -0.229  0.81891    
ORdate_year2009                                           -9.545e-01  3.850e-01  5.681e-01 -1.680  0.09294 .  
ORdate_year2010                                           -7.206e-01  4.864e-01  5.162e-01 -1.396  0.16274    
ORdate_year2011                                           -8.705e-01  4.188e-01  5.383e-01 -1.617  0.10586    
ORdate_year2012                                            4.796e-01  1.615e+00  4.415e-01  1.086  0.27734    
ORdate_year2013                                            1.570e-01  1.170e+00  8.886e-01  0.177  0.85979    
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
Hypertension.compositeno                                  -4.566e-01  6.334e-01  3.618e-01 -1.262  0.20696    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -2.722e-02  9.731e-01  2.279e-01 -0.119  0.90492    
SmokerStatusEx-smoker                                     -4.569e-01  6.332e-01  2.105e-01 -2.170  0.03000 *  
SmokerStatusNever smoked                                  -8.064e-01  4.465e-01  3.437e-01 -2.346  0.01895 *  
Med.Statin.LLDno                                           2.661e-01  1.305e+00  2.211e-01  1.203  0.22883    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     4.593e-01  1.583e+00  2.668e-01  1.721  0.08518 .  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -1.995e-02  9.802e-01  5.047e-03 -3.953 7.72e-05 ***
BMI                                                        5.567e-02  1.057e+00  2.581e-02  2.157  0.03102 *  
MedHx_CVDyes                                               5.472e-01  1.728e+00  2.247e-01  2.435  0.01490 *  
stenose0-49%                                              -1.505e+01  2.896e-07  2.393e+03 -0.006  0.99498    
stenose50-70%                                             -6.967e-02  9.327e-01  9.527e-01 -0.073  0.94170    
stenose70-90%                                              3.744e-01  1.454e+00  8.404e-01  0.445  0.65597    
stenose90-99%                                              4.140e-01  1.513e+00  8.413e-01  0.492  0.62269    
stenose100% (Occlusion)                                    6.412e-01  1.899e+00  1.323e+00  0.484  0.62805    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.551e+01  1.845e-07  3.067e+03 -0.005  0.99597    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 1.293e+00  7.734e-01    0.8651    1.9324
Age                                                       1.035e+00  9.659e-01    1.0089    1.0624
Gendermale                                                1.452e+00  6.885e-01    0.9276    2.2743
ORdate_year2003                                           7.318e-01  1.367e+00    0.3008    1.7799
ORdate_year2004                                           6.511e-01  1.536e+00    0.2744    1.5453
ORdate_year2005                                           1.159e+00  8.625e-01    0.5036    2.6693
ORdate_year2006                                           1.034e+00  9.667e-01    0.4434    2.4135
ORdate_year2007                                           4.866e-01  2.055e+00    0.1772    1.3359
ORdate_year2008                                           8.954e-01  1.117e+00    0.3477    2.3059
ORdate_year2009                                           3.850e-01  2.597e+00    0.1265    1.1723
ORdate_year2010                                           4.864e-01  2.056e+00    0.1768    1.3380
ORdate_year2011                                           4.188e-01  2.388e+00    0.1458    1.2027
ORdate_year2012                                           1.615e+00  6.190e-01    0.6800    3.8379
ORdate_year2013                                           1.170e+00  8.547e-01    0.2050    6.6765
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  6.334e-01  1.579e+00    0.3117    1.2873
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.731e-01  1.028e+00    0.6226    1.5211
SmokerStatusEx-smoker                                     6.332e-01  1.579e+00    0.4191    0.9567
SmokerStatusNever smoked                                  4.465e-01  2.240e+00    0.2276    0.8756
Med.Statin.LLDno                                          1.305e+00  7.664e-01    0.8459    2.0127
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.583e+00  6.317e-01    0.9383    2.6705
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.802e-01  1.020e+00    0.9706    0.9900
BMI                                                       1.057e+00  9.459e-01    1.0051    1.1121
MedHx_CVDyes                                              1.728e+00  5.786e-01    1.1126    2.6850
stenose0-49%                                              2.896e-07  3.453e+06    0.0000       Inf
stenose50-70%                                             9.327e-01  1.072e+00    0.1441    6.0352
stenose70-90%                                             1.454e+00  6.877e-01    0.2801    7.5499
stenose90-99%                                             1.513e+00  6.610e-01    0.2908    7.8685
stenose100% (Occlusion)                                   1.899e+00  5.267e-01    0.1419   25.4074
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             1.845e-07  5.421e+06    0.0000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.73  (se = 0.022 )
Likelihood ratio test= 83.47  on 29 df,   p=4e-07
Wald test            = 76.17  on 29 df,   p=4e-06
Score (logrank) test = 81.79  on 29 df,   p=6e-07


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.256929 
Standard error............: 0.205012 
Odds ratio (effect size)..: 1.293 
Lower 95% CI..............: 0.865 
Upper 95% CI..............: 1.932 
T-value...................: 1.25324 
P-value...................: 0.2101183 
Sample size in model......: 1029 
Number of events..........: 115 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 115 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  2.012e-01  1.223e+00  2.069e-01  0.973 0.330705    
Age                                                        3.415e-02  1.035e+00  1.313e-02  2.601 0.009303 ** 
Gendermale                                                 3.655e-01  1.441e+00  2.292e-01  1.595 0.110708    
ORdate_year2003                                           -3.039e-01  7.379e-01  4.536e-01 -0.670 0.502841    
ORdate_year2004                                           -4.387e-01  6.449e-01  4.424e-01 -0.992 0.321301    
ORdate_year2005                                            1.361e-01  1.146e+00  4.261e-01  0.319 0.749429    
ORdate_year2006                                           -1.227e-02  9.878e-01  4.298e-01 -0.029 0.977232    
ORdate_year2007                                           -7.093e-01  4.920e-01  5.152e-01 -1.377 0.168622    
ORdate_year2008                                           -1.137e-01  8.925e-01  4.832e-01 -0.235 0.814010    
ORdate_year2009                                           -9.736e-01  3.777e-01  5.700e-01 -1.708 0.087621 .  
ORdate_year2010                                           -6.952e-01  4.990e-01  5.156e-01 -1.348 0.177531    
ORdate_year2011                                           -8.708e-01  4.186e-01  5.396e-01 -1.614 0.106566    
ORdate_year2012                                            4.741e-01  1.607e+00  4.428e-01  1.071 0.284300    
ORdate_year2013                                            1.914e-01  1.211e+00  8.929e-01  0.214 0.830288    
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
Hypertension.compositeno                                  -4.501e-01  6.375e-01  3.618e-01 -1.244 0.213507    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -4.152e-02  9.593e-01  2.278e-01 -0.182 0.855335    
SmokerStatusEx-smoker                                     -4.579e-01  6.326e-01  2.106e-01 -2.175 0.029665 *  
SmokerStatusNever smoked                                  -8.149e-01  4.427e-01  3.443e-01 -2.367 0.017952 *  
Med.Statin.LLDno                                           2.621e-01  1.300e+00  2.219e-01  1.181 0.237625    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     4.615e-01  1.586e+00  2.670e-01  1.728 0.083925 .  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -1.961e-02  9.806e-01  5.047e-03 -3.884 0.000103 ***
BMI                                                        5.542e-02  1.057e+00  2.563e-02  2.163 0.030559 *  
MedHx_CVDyes                                               5.571e-01  1.746e+00  2.247e-01  2.479 0.013183 *  
stenose0-49%                                              -1.513e+01  2.674e-07  2.373e+03 -0.006 0.994911    
stenose50-70%                                             -4.756e-02  9.536e-01  9.559e-01 -0.050 0.960316    
stenose70-90%                                              3.692e-01  1.447e+00  8.443e-01  0.437 0.661889    
stenose90-99%                                              4.096e-01  1.506e+00  8.454e-01  0.484 0.628071    
stenose100% (Occlusion)                                    5.581e-01  1.747e+00  1.324e+00  0.422 0.673360    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.550e+01  1.858e-07  3.063e+03 -0.005 0.995963    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.223e+00  8.177e-01    0.8153    1.8344
Age                                                       1.035e+00  9.664e-01    1.0085    1.0617
Gendermale                                                1.441e+00  6.938e-01    0.9198    2.2584
ORdate_year2003                                           7.379e-01  1.355e+00    0.3033    1.7951
ORdate_year2004                                           6.449e-01  1.551e+00    0.2710    1.5346
ORdate_year2005                                           1.146e+00  8.728e-01    0.4970    2.6414
ORdate_year2006                                           9.878e-01  1.012e+00    0.4254    2.2937
ORdate_year2007                                           4.920e-01  2.033e+00    0.1792    1.3506
ORdate_year2008                                           8.925e-01  1.120e+00    0.3462    2.3012
ORdate_year2009                                           3.777e-01  2.647e+00    0.1236    1.1544
ORdate_year2010                                           4.990e-01  2.004e+00    0.1817    1.3707
ORdate_year2011                                           4.186e-01  2.389e+00    0.1454    1.2054
ORdate_year2012                                           1.607e+00  6.224e-01    0.6745    3.8268
ORdate_year2013                                           1.211e+00  8.258e-01    0.2104    6.9684
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  6.375e-01  1.569e+00    0.3137    1.2957
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.593e-01  1.042e+00    0.6139    1.4991
SmokerStatusEx-smoker                                     6.326e-01  1.581e+00    0.4187    0.9558
SmokerStatusNever smoked                                  4.427e-01  2.259e+00    0.2254    0.8693
Med.Statin.LLDno                                          1.300e+00  7.695e-01    0.8412    2.0077
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.586e+00  6.303e-01    0.9400    2.6774
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.806e-01  1.020e+00    0.9709    0.9903
BMI                                                       1.057e+00  9.461e-01    1.0052    1.1114
MedHx_CVDyes                                              1.746e+00  5.729e-01    1.1237    2.7117
stenose0-49%                                              2.674e-07  3.739e+06    0.0000       Inf
stenose50-70%                                             9.536e-01  1.049e+00    0.1465    6.2084
stenose70-90%                                             1.447e+00  6.913e-01    0.2765    7.5688
stenose90-99%                                             1.506e+00  6.639e-01    0.2872    7.8979
stenose100% (Occlusion)                                   1.747e+00  5.723e-01    0.1304   23.4104
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             1.858e-07  5.382e+06    0.0000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.728  (se = 0.022 )
Likelihood ratio test= 82.84  on 29 df,   p=4e-07
Wald test            = 75.29  on 29 df,   p=6e-06
Score (logrank) test = 81.04  on 29 df,   p=8e-07


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.201234 
Standard error............: 0.206883 
Odds ratio (effect size)..: 1.223 
Lower 95% CI..............: 0.815 
Upper 95% CI..............: 1.834 
T-value...................: 0.972695 
P-value...................: 0.330705 
Sample size in model......: 1029 
Number of events..........: 115 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 61 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -4.150e-01  6.603e-01  2.782e-01 -1.492   0.1358  
Age                                                        2.986e-02  1.030e+00  1.813e-02  1.648   0.0995 .
Gendermale                                                 7.973e-01  2.220e+00  3.701e-01  2.154   0.0312 *
ORdate_year2003                                           -8.489e-01  4.279e-01  4.375e-01 -1.940   0.0523 .
ORdate_year2004                                           -6.914e-01  5.009e-01  4.006e-01 -1.726   0.0844 .
ORdate_year2005                                           -6.347e-01  5.301e-01  4.001e-01 -1.586   0.1127  
ORdate_year2006                                            1.724e-01  1.188e+00  5.631e-01  0.306   0.7594  
ORdate_year2007                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2008                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2009                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2010                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2011                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2012                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2013                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA  
Hypertension.compositeno                                  -7.210e-01  4.863e-01  5.345e-01 -1.349   0.1774  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                     6.302e-01  1.878e+00  2.971e-01  2.122   0.0339 *
SmokerStatusEx-smoker                                     -6.687e-01  5.124e-01  2.916e-01 -2.293   0.0218 *
SmokerStatusNever smoked                                  -3.377e-01  7.134e-01  4.351e-01 -0.776   0.4376  
Med.Statin.LLDno                                           2.832e-01  1.327e+00  2.991e-01  0.947   0.3438  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                    -1.674e-01  8.459e-01  4.616e-01 -0.363   0.7169  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -9.546e-03  9.905e-01  6.787e-03 -1.406   0.1596  
BMI                                                       -7.853e-04  9.992e-01  3.558e-02 -0.022   0.9824  
MedHx_CVDyes                                               5.402e-01  1.716e+00  3.083e-01  1.752   0.0798 .
stenose0-49%                                              -1.563e+01  1.635e-07  2.223e+03 -0.007   0.9944  
stenose50-70%                                             -1.880e+00  1.526e-01  1.460e+00 -1.288   0.1979  
stenose70-90%                                             -8.716e-01  4.183e-01  1.064e+00 -0.819   0.4125  
stenose90-99%                                             -1.158e+00  3.142e-01  1.072e+00 -1.080   0.2802  
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 6.603e-01  1.514e+00  0.382781    1.1391
Age                                                       1.030e+00  9.706e-01  0.994353    1.0676
Gendermale                                                2.220e+00  4.505e-01  1.074555    4.5845
ORdate_year2003                                           4.279e-01  2.337e+00  0.181505    1.0087
ORdate_year2004                                           5.009e-01  1.996e+00  0.228421    1.0984
ORdate_year2005                                           5.301e-01  1.886e+00  0.241968    1.1614
ORdate_year2006                                           1.188e+00  8.416e-01  0.394084    3.5826
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  4.863e-01  2.056e+00  0.170561    1.3863
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.878e+00  5.325e-01  1.049173    3.3617
SmokerStatusEx-smoker                                     5.124e-01  1.952e+00  0.289302    0.9074
SmokerStatusNever smoked                                  7.134e-01  1.402e+00  0.304071    1.6737
Med.Statin.LLDno                                          1.327e+00  7.534e-01  0.738562    2.3854
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    8.459e-01  1.182e+00  0.342283    2.0904
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.905e-01  1.010e+00  0.977410    1.0038
BMI                                                       9.992e-01  1.001e+00  0.931916    1.0714
MedHx_CVDyes                                              1.716e+00  5.826e-01  0.937922    3.1407
stenose0-49%                                              1.635e-07  6.117e+06  0.000000       Inf
stenose50-70%                                             1.526e-01  6.551e+00  0.008729    2.6691
stenose70-90%                                             4.183e-01  2.391e+00  0.052008    3.3638
stenose90-99%                                             3.142e-01  3.183e+00  0.038418    2.5695
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.723  (se = 0.029 )
Likelihood ratio test= 39.54  on 20 df,   p=0.006
Wald test            = 37.37  on 20 df,   p=0.01
Score (logrank) test = 40.27  on 20 df,   p=0.005


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.415016 
Standard error............: 0.278207 
Odds ratio (effect size)..: 0.66 
Lower 95% CI..............: 0.383 
Upper 95% CI..............: 1.139 
T-value...................: -1.491755 
P-value...................: 0.1357633 
Sample size in model......: 493 
Number of events..........: 61 
* Analyzing the effect of plaque proteins on [epstroke.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 59 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  3.620e-01  1.436e+00  2.925e-01  1.238   0.2159  
Age                                                        4.197e-02  1.043e+00  1.777e-02  2.362   0.0182 *
Gendermale                                                -3.927e-03  9.961e-01  3.019e-01 -0.013   0.9896  
ORdate_year2003                                           -2.929e-01  7.461e-01  6.777e-01 -0.432   0.6656  
ORdate_year2004                                           -2.235e-01  7.997e-01  6.385e-01 -0.350   0.7263  
ORdate_year2005                                            3.677e-01  1.444e+00  6.065e-01  0.606   0.5443  
ORdate_year2006                                            2.102e-01  1.234e+00  6.253e-01  0.336   0.7367  
ORdate_year2007                                           -5.299e-01  5.886e-01  7.227e-01 -0.733   0.4634  
ORdate_year2008                                           -2.546e-01  7.752e-01  7.211e-01 -0.353   0.7240  
ORdate_year2009                                           -1.842e+01  9.967e-09  3.865e+03 -0.005   0.9962  
ORdate_year2010                                           -1.912e-01  8.260e-01  6.646e-01 -0.288   0.7737  
ORdate_year2011                                           -6.589e-01  5.174e-01  7.258e-01 -0.908   0.3640  
ORdate_year2012                                            2.664e-01  1.305e+00  6.659e-01  0.400   0.6891  
ORdate_year2013                                           -1.879e+01  6.934e-09  9.638e+03 -0.002   0.9984  
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA  
Hypertension.compositeno                                  -2.380e-02  9.765e-01  4.227e-01 -0.056   0.9551  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                    -1.362e-02  9.865e-01  3.207e-01 -0.042   0.9661  
SmokerStatusEx-smoker                                     -8.409e-02  9.193e-01  2.949e-01 -0.285   0.7755  
SmokerStatusNever smoked                                  -9.352e-01  3.925e-01  5.236e-01 -1.786   0.0741 .
Med.Statin.LLDno                                           3.356e-01  1.399e+00  3.012e-01  1.114   0.2653  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     4.212e-01  1.524e+00  3.778e-01  1.115   0.2649  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -4.671e-03  9.953e-01  7.103e-03 -0.658   0.5108  
BMI                                                        7.942e-02  1.083e+00  3.350e-02  2.371   0.0177 *
MedHx_CVDyes                                               3.740e-01  1.454e+00  2.977e-01  1.256   0.2090  
stenose0-49%                                              -1.884e+01  6.548e-09  1.477e+04 -0.001   0.9990  
stenose50-70%                                             -5.096e-01  6.008e-01  1.244e+00 -0.410   0.6821  
stenose70-90%                                             -5.996e-01  5.490e-01  1.125e+00 -0.533   0.5941  
stenose90-99%                                             -6.204e-01  5.378e-01  1.137e+00 -0.546   0.5852  
stenose100% (Occlusion)                                    3.498e-01  1.419e+00  1.530e+00  0.229   0.8191  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                             -1.913e+01  4.919e-09  1.932e+04 -0.001   0.9992  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 1.436e+00  6.963e-01   0.80952     2.548
Age                                                       1.043e+00  9.589e-01   1.00717     1.080
Gendermale                                                9.961e-01  1.004e+00   0.55122     1.800
ORdate_year2003                                           7.461e-01  1.340e+00   0.19766     2.816
ORdate_year2004                                           7.997e-01  1.250e+00   0.22879     2.795
ORdate_year2005                                           1.444e+00  6.923e-01   0.43995     4.742
ORdate_year2006                                           1.234e+00  8.104e-01   0.36229     4.203
ORdate_year2007                                           5.886e-01  1.699e+00   0.14280     2.426
ORdate_year2008                                           7.752e-01  1.290e+00   0.18863     3.186
ORdate_year2009                                           9.967e-09  1.003e+08   0.00000       Inf
ORdate_year2010                                           8.260e-01  1.211e+00   0.22451     3.039
ORdate_year2011                                           5.174e-01  1.933e+00   0.12476     2.146
ORdate_year2012                                           1.305e+00  7.661e-01   0.35390     4.814
ORdate_year2013                                           6.934e-09  1.442e+08   0.00000       Inf
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  9.765e-01  1.024e+00   0.42646     2.236
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.865e-01  1.014e+00   0.52618     1.849
SmokerStatusEx-smoker                                     9.193e-01  1.088e+00   0.51579     1.639
SmokerStatusNever smoked                                  3.925e-01  2.548e+00   0.14066     1.095
Med.Statin.LLDno                                          1.399e+00  7.149e-01   0.77505     2.524
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.524e+00  6.563e-01   0.72669     3.195
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.953e-01  1.005e+00   0.98158     1.009
BMI                                                       1.083e+00  9.237e-01   1.01386     1.156
MedHx_CVDyes                                              1.454e+00  6.880e-01   0.81099     2.605
stenose0-49%                                              6.548e-09  1.527e+08   0.00000       Inf
stenose50-70%                                             6.008e-01  1.665e+00   0.05246     6.879
stenose70-90%                                             5.490e-01  1.821e+00   0.06052     4.981
stenose90-99%                                             5.378e-01  1.860e+00   0.05795     4.990
stenose100% (Occlusion)                                   1.419e+00  7.048e-01   0.07077    28.445
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             4.919e-09  2.033e+08   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.732  (se = 0.03 )
Likelihood ratio test= 42.34  on 29 df,   p=0.05
Wald test            = 20.23  on 29 df,   p=0.9
Score (logrank) test = 36.86  on 29 df,   p=0.1


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.361969 
Standard error............: 0.292494 
Odds ratio (effect size)..: 1.436 
Lower 95% CI..............: 0.81 
Upper 95% CI..............: 2.548 
T-value...................: 1.237526 
P-value...................: 0.215892 
Sample size in model......: 1029 
Number of events..........: 59 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 59 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  2.373e-01  1.268e+00  2.920e-01  0.813   0.4164  
Age                                                        4.063e-02  1.041e+00  1.770e-02  2.295   0.0217 *
Gendermale                                                -1.109e-02  9.890e-01  3.026e-01 -0.037   0.9708  
ORdate_year2003                                           -3.011e-01  7.400e-01  6.781e-01 -0.444   0.6570  
ORdate_year2004                                           -2.691e-01  7.641e-01  6.376e-01 -0.422   0.6730  
ORdate_year2005                                            3.200e-01  1.377e+00  6.050e-01  0.529   0.5969  
ORdate_year2006                                            1.451e-01  1.156e+00  6.232e-01  0.233   0.8158  
ORdate_year2007                                           -5.208e-01  5.940e-01  7.231e-01 -0.720   0.4714  
ORdate_year2008                                           -2.657e-01  7.666e-01  7.224e-01 -0.368   0.7130  
ORdate_year2009                                           -1.845e+01  9.724e-09  3.878e+03 -0.005   0.9962  
ORdate_year2010                                           -1.570e-01  8.547e-01  6.650e-01 -0.236   0.8134  
ORdate_year2011                                           -6.557e-01  5.191e-01  7.294e-01 -0.899   0.3686  
ORdate_year2012                                            2.655e-01  1.304e+00  6.703e-01  0.396   0.6921  
ORdate_year2013                                           -1.876e+01  7.156e-09  9.574e+03 -0.002   0.9984  
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA  
Hypertension.compositeno                                  -2.238e-02  9.779e-01  4.242e-01 -0.053   0.9579  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                    -2.439e-02  9.759e-01  3.210e-01 -0.076   0.9394  
SmokerStatusEx-smoker                                     -7.426e-02  9.284e-01  2.949e-01 -0.252   0.8012  
SmokerStatusNever smoked                                  -9.206e-01  3.983e-01  5.230e-01 -1.760   0.0784 .
Med.Statin.LLDno                                           3.383e-01  1.403e+00  3.018e-01  1.121   0.2623  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     4.232e-01  1.527e+00  3.782e-01  1.119   0.2631  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -4.185e-03  9.958e-01  7.096e-03 -0.590   0.5553  
BMI                                                        7.790e-02  1.081e+00  3.315e-02  2.350   0.0188 *
MedHx_CVDyes                                               3.844e-01  1.469e+00  2.975e-01  1.292   0.1963  
stenose0-49%                                              -1.896e+01  5.807e-09  1.484e+04 -0.001   0.9990  
stenose50-70%                                             -5.293e-01  5.890e-01  1.246e+00 -0.425   0.6709  
stenose70-90%                                             -6.292e-01  5.330e-01  1.124e+00 -0.560   0.5757  
stenose90-99%                                             -6.563e-01  5.188e-01  1.137e+00 -0.577   0.5638  
stenose100% (Occlusion)                                    2.429e-01  1.275e+00  1.526e+00  0.159   0.8736  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                             -1.916e+01  4.783e-09  1.921e+04 -0.001   0.9992  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.268e+00  7.887e-01   0.71531     2.247
Age                                                       1.041e+00  9.602e-01   1.00595     1.078
Gendermale                                                9.890e-01  1.011e+00   0.54656     1.789
ORdate_year2003                                           7.400e-01  1.351e+00   0.19590     2.795
ORdate_year2004                                           7.641e-01  1.309e+00   0.21898     2.666
ORdate_year2005                                           1.377e+00  7.262e-01   0.42071     4.508
ORdate_year2006                                           1.156e+00  8.649e-01   0.34088     3.922
ORdate_year2007                                           5.940e-01  1.683e+00   0.14399     2.451
ORdate_year2008                                           7.666e-01  1.304e+00   0.18607     3.159
ORdate_year2009                                           9.724e-09  1.028e+08   0.00000       Inf
ORdate_year2010                                           8.547e-01  1.170e+00   0.23216     3.147
ORdate_year2011                                           5.191e-01  1.927e+00   0.12428     2.168
ORdate_year2012                                           1.304e+00  7.668e-01   0.35051     4.852
ORdate_year2013                                           7.156e-09  1.397e+08   0.00000       Inf
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  9.779e-01  1.023e+00   0.42582     2.246
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.759e-01  1.025e+00   0.52019     1.831
SmokerStatusEx-smoker                                     9.284e-01  1.077e+00   0.52083     1.655
SmokerStatusNever smoked                                  3.983e-01  2.511e+00   0.14289     1.110
Med.Statin.LLDno                                          1.403e+00  7.130e-01   0.77628     2.534
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.527e+00  6.549e-01   0.72761     3.204
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.958e-01  1.004e+00   0.98207     1.010
BMI                                                       1.081e+00  9.251e-01   1.01301     1.154
MedHx_CVDyes                                              1.469e+00  6.809e-01   0.81979     2.631
stenose0-49%                                              5.807e-09  1.722e+08   0.00000       Inf
stenose50-70%                                             5.890e-01  1.698e+00   0.05125     6.768
stenose70-90%                                             5.330e-01  1.876e+00   0.05886     4.827
stenose90-99%                                             5.188e-01  1.928e+00   0.05588     4.816
stenose100% (Occlusion)                                   1.275e+00  7.844e-01   0.06401    25.394
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             4.783e-09  2.091e+08   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.727  (se = 0.03 )
Likelihood ratio test= 41.46  on 29 df,   p=0.06
Wald test            = 19.48  on 29 df,   p=0.9
Score (logrank) test = 36.13  on 29 df,   p=0.2


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.237314 
Standard error............: 0.292024 
Odds ratio (effect size)..: 1.268 
Lower 95% CI..............: 0.715 
Upper 95% CI..............: 2.247 
T-value...................: 0.812652 
P-value...................: 0.4164178 
Sample size in model......: 1029 
Number of events..........: 59 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 29 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -5.186e-01  5.953e-01  3.999e-01 -1.297    0.195
Age                                                        1.587e-02  1.016e+00  2.485e-02  0.639    0.523
Gendermale                                                 7.131e-02  1.074e+00  4.437e-01  0.161    0.872
ORdate_year2003                                           -6.306e-01  5.323e-01  6.431e-01 -0.980    0.327
ORdate_year2004                                           -4.388e-01  6.448e-01  5.877e-01 -0.747    0.455
ORdate_year2005                                           -4.641e-01  6.287e-01  5.911e-01 -0.785    0.432
ORdate_year2006                                            1.454e-01  1.156e+00  9.006e-01  0.161    0.872
ORdate_year2007                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2008                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2009                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2010                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2011                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2012                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2013                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA
Hypertension.compositeno                                  -8.230e-01  4.391e-01  7.576e-01 -1.086    0.277
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA
DiabetesStatusDiabetes                                     2.449e-01  1.277e+00  4.598e-01  0.533    0.594
SmokerStatusEx-smoker                                     -5.660e-01  5.678e-01  4.210e-01 -1.345    0.179
SmokerStatusNever smoked                                  -3.250e-01  7.225e-01  6.191e-01 -0.525    0.600
Med.Statin.LLDno                                          -4.666e-02  9.544e-01  4.586e-01 -0.102    0.919
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA
Med.all.antiplateletno                                    -1.411e-01  8.684e-01  6.765e-01 -0.209    0.835
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA
GFR_MDRD                                                   2.998e-03  1.003e+00  1.028e-02  0.292    0.771
BMI                                                       -7.989e-03  9.920e-01  4.989e-02 -0.160    0.873
MedHx_CVDyes                                               2.593e-01  1.296e+00  4.188e-01  0.619    0.536
stenose0-49%                                              -1.870e+01  7.594e-09  1.325e+04 -0.001    0.999
stenose50-70%                                             -1.863e+01  8.099e-09  4.984e+03 -0.004    0.997
stenose70-90%                                             -1.346e+00  2.602e-01  1.149e+00 -1.172    0.241
stenose90-99%                                             -1.585e+00  2.049e-01  1.164e+00 -1.362    0.173
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA
stenoseNA                                                         NA         NA  0.000e+00     NA       NA
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA
stenose99                                                         NA         NA  0.000e+00     NA       NA

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 5.953e-01  1.680e+00   0.27190     1.303
Age                                                       1.016e+00  9.843e-01   0.96770     1.067
Gendermale                                                1.074e+00  9.312e-01   0.45005     2.563
ORdate_year2003                                           5.323e-01  1.879e+00   0.15091     1.877
ORdate_year2004                                           6.448e-01  1.551e+00   0.20380     2.040
ORdate_year2005                                           6.287e-01  1.591e+00   0.19737     2.003
ORdate_year2006                                           1.156e+00  8.647e-01   0.19793     6.757
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  4.391e-01  2.277e+00   0.09947     1.938
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.277e+00  7.828e-01   0.51879     3.146
SmokerStatusEx-smoker                                     5.678e-01  1.761e+00   0.24880     1.296
SmokerStatusNever smoked                                  7.225e-01  1.384e+00   0.21474     2.431
Med.Statin.LLDno                                          9.544e-01  1.048e+00   0.38848     2.345
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    8.684e-01  1.151e+00   0.23060     3.270
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  1.003e+00  9.970e-01   0.98299     1.023
BMI                                                       9.920e-01  1.008e+00   0.89963     1.094
MedHx_CVDyes                                              1.296e+00  7.716e-01   0.57036     2.945
stenose0-49%                                              7.594e-09  1.317e+08   0.00000       Inf
stenose50-70%                                             8.099e-09  1.235e+08   0.00000       Inf
stenose70-90%                                             2.602e-01  3.844e+00   0.02739     2.471
stenose90-99%                                             2.049e-01  4.881e+00   0.02093     2.005
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.668  (se = 0.047 )
Likelihood ratio test= 11.3  on 20 df,   p=0.9
Wald test            = 8.6  on 20 df,   p=1
Score (logrank) test = 10.53  on 20 df,   p=1


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.518645 
Standard error............: 0.399851 
Odds ratio (effect size)..: 0.595 
Lower 95% CI..............: 0.272 
Upper 95% CI..............: 1.304 
T-value...................: -1.297096 
P-value...................: 0.1945982 
Sample size in model......: 493 
Number of events..........: 29 
* Analyzing the effect of plaque proteins on [epcoronary.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 78 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -1.096e-01  8.962e-01  2.441e-01 -0.449  0.65325   
Age                                                        2.992e-03  1.003e+00  1.579e-02  0.190  0.84968   
Gendermale                                                 8.257e-01  2.284e+00  3.021e-01  2.733  0.00627 **
ORdate_year2003                                            1.891e-01  1.208e+00  4.745e-01  0.399  0.69024   
ORdate_year2004                                           -7.166e-01  4.884e-01  5.244e-01 -1.367  0.17175   
ORdate_year2005                                           -4.229e-01  6.551e-01  5.265e-01 -0.803  0.42180   
ORdate_year2006                                           -4.844e-01  6.161e-01  5.277e-01 -0.918  0.35870   
ORdate_year2007                                           -7.387e-01  4.777e-01  5.987e-01 -1.234  0.21725   
ORdate_year2008                                           -1.913e-01  8.259e-01  5.683e-01 -0.337  0.73642   
ORdate_year2009                                           -5.460e-01  5.793e-01  5.976e-01 -0.914  0.36092   
ORdate_year2010                                           -1.136e+00  3.211e-01  7.041e-01 -1.613  0.10668   
ORdate_year2011                                           -1.181e+00  3.071e-01  7.019e-01 -1.682  0.09256 . 
ORdate_year2012                                            3.458e-01  1.413e+00  5.234e-01  0.661  0.50882   
ORdate_year2013                                            9.383e-01  2.556e+00  9.568e-01  0.981  0.32674   
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA   
Hypertension.compositeno                                  -1.010e+00  3.641e-01  5.284e-01 -1.912  0.05585 . 
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA   
DiabetesStatusDiabetes                                    -1.266e-01  8.811e-01  2.814e-01 -0.450  0.65277   
SmokerStatusEx-smoker                                     -5.708e-01  5.651e-01  2.607e-01 -2.190  0.02856 * 
SmokerStatusNever smoked                                  -2.362e-01  7.896e-01  3.693e-01 -0.640  0.52234   
Med.Statin.LLDno                                           6.546e-02  1.068e+00  2.790e-01  0.235  0.81452   
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA   
Med.all.antiplateletno                                     4.346e-01  1.544e+00  3.400e-01  1.278  0.20122   
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA   
GFR_MDRD                                                  -2.025e-02  9.800e-01  6.156e-03 -3.289  0.00101 **
BMI                                                        1.482e-02  1.015e+00  3.334e-02  0.444  0.65676   
MedHx_CVDyes                                               6.845e-01  1.983e+00  2.819e-01  2.429  0.01516 * 
stenose0-49%                                              -1.449e+01  5.081e-07  3.179e+03 -0.005  0.99636   
stenose50-70%                                             -5.016e-01  6.056e-01  1.535e+00 -0.327  0.74378   
stenose70-90%                                              1.047e+00  2.849e+00  1.218e+00  0.859  0.39019   
stenose90-99%                                              9.371e-01  2.553e+00  1.215e+00  0.771  0.44069   
stenose100% (Occlusion)                                   -1.421e+01  6.748e-07  2.515e+03 -0.006  0.99549   
stenoseNA                                                         NA         NA  0.000e+00     NA       NA   
stenose50-99%                                              1.271e+00  3.565e+00  1.600e+00  0.794  0.42704   
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA   
stenose99                                                         NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 8.962e-01  1.116e+00   0.55544    1.4459
Age                                                       1.003e+00  9.970e-01   0.97244    1.0345
Gendermale                                                2.284e+00  4.379e-01   1.26315    4.1283
ORdate_year2003                                           1.208e+00  8.277e-01   0.47672    3.0618
ORdate_year2004                                           4.884e-01  2.047e+00   0.17476    1.3650
ORdate_year2005                                           6.551e-01  1.526e+00   0.23346    1.8385
ORdate_year2006                                           6.161e-01  1.623e+00   0.21898    1.7332
ORdate_year2007                                           4.777e-01  2.093e+00   0.14776    1.5445
ORdate_year2008                                           8.259e-01  1.211e+00   0.27115    2.5156
ORdate_year2009                                           5.793e-01  1.726e+00   0.17955    1.8688
ORdate_year2010                                           3.211e-01  3.114e+00   0.08079    1.2764
ORdate_year2011                                           3.071e-01  3.256e+00   0.07759    1.2154
ORdate_year2012                                           1.413e+00  7.076e-01   0.50657    3.9421
ORdate_year2013                                           2.556e+00  3.913e-01   0.39183   16.6680
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  3.641e-01  2.747e+00   0.12925    1.0256
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    8.811e-01  1.135e+00   0.50753    1.5295
SmokerStatusEx-smoker                                     5.651e-01  1.770e+00   0.33899    0.9419
SmokerStatusNever smoked                                  7.896e-01  1.266e+00   0.38290    1.6283
Med.Statin.LLDno                                          1.068e+00  9.366e-01   0.61790    1.8448
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.544e+00  6.476e-01   0.79307    3.0070
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.800e-01  1.020e+00   0.96820    0.9919
BMI                                                       1.015e+00  9.853e-01   0.95072    1.0835
MedHx_CVDyes                                              1.983e+00  5.043e-01   1.14121    3.4452
stenose0-49%                                              5.081e-07  1.968e+06   0.00000       Inf
stenose50-70%                                             6.056e-01  1.651e+00   0.02992   12.2566
stenose70-90%                                             2.849e+00  3.510e-01   0.26153   31.0383
stenose90-99%                                             2.553e+00  3.918e-01   0.23573   27.6415
stenose100% (Occlusion)                                   6.748e-07  1.482e+06   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             3.565e+00  2.805e-01   0.15479   82.1134
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.743  (se = 0.027 )
Likelihood ratio test= 66.14  on 29 df,   p=1e-04
Wald test            = 58.95  on 29 df,   p=8e-04
Score (logrank) test = 63.72  on 29 df,   p=2e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.109644 
Standard error............: 0.244058 
Odds ratio (effect size)..: 0.896 
Lower 95% CI..............: 0.555 
Upper 95% CI..............: 1.446 
T-value...................: -0.449252 
P-value...................: 0.6532497 
Sample size in model......: 1029 
Number of events..........: 78 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 78 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  2.505e-01  1.285e+00  2.498e-01  1.003  0.31595   
Age                                                        3.056e-03  1.003e+00  1.584e-02  0.193  0.84702   
Gendermale                                                 7.891e-01  2.201e+00  3.034e-01  2.601  0.00929 **
ORdate_year2003                                            1.939e-01  1.214e+00  4.750e-01  0.408  0.68306   
ORdate_year2004                                           -6.007e-01  5.485e-01  5.308e-01 -1.132  0.25778   
ORdate_year2005                                           -3.293e-01  7.195e-01  5.299e-01 -0.621  0.53438   
ORdate_year2006                                           -4.507e-01  6.372e-01  5.266e-01 -0.856  0.39206   
ORdate_year2007                                           -7.470e-01  4.738e-01  5.981e-01 -1.249  0.21164   
ORdate_year2008                                           -1.942e-01  8.235e-01  5.684e-01 -0.342  0.73267   
ORdate_year2009                                           -6.198e-01  5.381e-01  5.989e-01 -1.035  0.30070   
ORdate_year2010                                           -1.215e+00  2.966e-01  7.006e-01 -1.735  0.08277 . 
ORdate_year2011                                           -1.263e+00  2.828e-01  7.006e-01 -1.803  0.07146 . 
ORdate_year2012                                            2.945e-01  1.342e+00  5.236e-01  0.562  0.57385   
ORdate_year2013                                            8.966e-01  2.451e+00  9.631e-01  0.931  0.35190   
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA   
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA   
Hypertension.compositeno                                  -1.056e+00  3.480e-01  5.286e-01 -1.997  0.04583 * 
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA   
DiabetesStatusDiabetes                                    -9.698e-02  9.076e-01  2.801e-01 -0.346  0.72918   
SmokerStatusEx-smoker                                     -5.792e-01  5.604e-01  2.610e-01 -2.219  0.02646 * 
SmokerStatusNever smoked                                  -2.749e-01  7.596e-01  3.704e-01 -0.742  0.45795   
Med.Statin.LLDno                                           4.080e-02  1.042e+00  2.797e-01  0.146  0.88404   
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA   
Med.all.antiplateletno                                     4.072e-01  1.503e+00  3.399e-01  1.198  0.23095   
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA   
GFR_MDRD                                                  -2.010e-02  9.801e-01  6.121e-03 -3.283  0.00103 **
BMI                                                        1.647e-02  1.017e+00  3.377e-02  0.488  0.62568   
MedHx_CVDyes                                               6.978e-01  2.009e+00  2.821e-01  2.473  0.01339 * 
stenose0-49%                                              -1.449e+01  5.114e-07  3.142e+03 -0.005  0.99632   
stenose50-70%                                             -4.387e-01  6.449e-01  1.537e+00 -0.285  0.77532   
stenose70-90%                                              1.133e+00  3.105e+00  1.229e+00  0.922  0.35676   
stenose90-99%                                              1.025e+00  2.786e+00  1.227e+00  0.835  0.40353   
stenose100% (Occlusion)                                   -1.406e+01  7.852e-07  2.535e+03 -0.006  0.99557   
stenoseNA                                                         NA         NA  0.000e+00     NA       NA   
stenose50-99%                                              1.291e+00  3.637e+00  1.611e+00  0.802  0.42283   
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA   
stenose99                                                         NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.285e+00  7.784e-01   0.78737    2.0959
Age                                                       1.003e+00  9.969e-01   0.97240    1.0347
Gendermale                                                2.201e+00  4.543e-01   1.21470    3.9896
ORdate_year2003                                           1.214e+00  8.237e-01   0.47855    3.0797
ORdate_year2004                                           5.485e-01  1.823e+00   0.19379    1.5522
ORdate_year2005                                           7.195e-01  1.390e+00   0.25465    2.0327
ORdate_year2006                                           6.372e-01  1.569e+00   0.22700    1.7885
ORdate_year2007                                           4.738e-01  2.111e+00   0.14673    1.5298
ORdate_year2008                                           8.235e-01  1.214e+00   0.27031    2.5090
ORdate_year2009                                           5.381e-01  1.859e+00   0.16637    1.7401
ORdate_year2010                                           2.966e-01  3.372e+00   0.07514    1.1708
ORdate_year2011                                           2.828e-01  3.535e+00   0.07165    1.1166
ORdate_year2012                                           1.342e+00  7.449e-01   0.48105    3.7461
ORdate_year2013                                           2.451e+00  4.080e-01   0.37117   16.1874
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  3.480e-01  2.874e+00   0.12348    0.9806
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.076e-01  1.102e+00   0.52412    1.5715
SmokerStatusEx-smoker                                     5.604e-01  1.785e+00   0.33600    0.9345
SmokerStatusNever smoked                                  7.596e-01  1.316e+00   0.36752    1.5700
Med.Statin.LLDno                                          1.042e+00  9.600e-01   0.60202    1.8023
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.503e+00  6.655e-01   0.77178    2.9256
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.801e-01  1.020e+00   0.96842    0.9919
BMI                                                       1.017e+00  9.837e-01   0.95150    1.0862
MedHx_CVDyes                                              2.009e+00  4.977e-01   1.15585    3.4930
stenose0-49%                                              5.114e-07  1.955e+06   0.00000       Inf
stenose50-70%                                             6.449e-01  1.551e+00   0.03170   13.1188
stenose70-90%                                             3.105e+00  3.221e-01   0.27898   34.5565
stenose90-99%                                             2.786e+00  3.589e-01   0.25169   30.8442
stenose100% (Occlusion)                                   7.852e-07  1.274e+06   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             3.637e+00  2.749e-01   0.15471   85.5055
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.746  (se = 0.028 )
Likelihood ratio test= 66.95  on 29 df,   p=8e-05
Wald test            = 59.79  on 29 df,   p=7e-04
Score (logrank) test = 64.44  on 29 df,   p=2e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.250465 
Standard error............: 0.249761 
Odds ratio (effect size)..: 1.285 
Lower 95% CI..............: 0.787 
Upper 95% CI..............: 2.096 
T-value...................: 1.002821 
P-value...................: 0.3159475 
Sample size in model......: 1029 
Number of events..........: 78 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 42 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -6.664e-03  9.934e-01  3.313e-01 -0.020   0.9840  
Age                                                        4.076e-02  1.042e+00  2.305e-02  1.769   0.0770 .
Gendermale                                                 9.719e-01  2.643e+00  4.709e-01  2.064   0.0390 *
ORdate_year2003                                           -3.203e-01  7.259e-01  4.535e-01 -0.706   0.4800  
ORdate_year2004                                           -9.864e-01  3.729e-01  4.946e-01 -1.994   0.0461 *
ORdate_year2005                                           -7.907e-01  4.535e-01  4.801e-01 -1.647   0.0996 .
ORdate_year2006                                           -9.310e-01  3.941e-01  8.371e-01 -1.112   0.2660  
ORdate_year2007                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2008                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2009                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2010                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2011                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2012                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2013                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA  
Hypertension.compositeno                                  -2.161e-01  8.056e-01  5.468e-01 -0.395   0.6927  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                     5.210e-01  1.684e+00  3.595e-01  1.449   0.1473  
SmokerStatusEx-smoker                                     -3.852e-01  6.803e-01  3.504e-01 -1.099   0.2716  
SmokerStatusNever smoked                                   2.323e-03  1.002e+00  5.080e-01  0.005   0.9964  
Med.Statin.LLDno                                          -4.831e-02  9.528e-01  3.661e-01 -0.132   0.8950  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     5.872e-01  1.799e+00  4.652e-01  1.262   0.2069  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -1.535e-02  9.848e-01  8.534e-03 -1.799   0.0721 .
BMI                                                        4.406e-02  1.045e+00  4.256e-02  1.035   0.3006  
MedHx_CVDyes                                               1.597e-01  1.173e+00  3.495e-01  0.457   0.6477  
stenose0-49%                                              -4.389e-01  6.448e-01  9.164e+03  0.000   1.0000  
stenose50-70%                                              1.610e+01  9.796e+06  5.270e+03  0.003   0.9976  
stenose70-90%                                              1.620e+01  1.086e+07  5.270e+03  0.003   0.9975  
stenose90-99%                                              1.607e+01  9.538e+06  5.270e+03  0.003   0.9976  
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 9.934e-01  1.007e+00    0.5189    1.9016
Age                                                       1.042e+00  9.601e-01    0.9956    1.0897
Gendermale                                                2.643e+00  3.784e-01    1.0503    6.6514
ORdate_year2003                                           7.259e-01  1.378e+00    0.2984    1.7656
ORdate_year2004                                           3.729e-01  2.681e+00    0.1415    0.9831
ORdate_year2005                                           4.535e-01  2.205e+00    0.1770    1.1622
ORdate_year2006                                           3.941e-01  2.537e+00    0.0764    2.0333
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  8.056e-01  1.241e+00    0.2759    2.3527
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.684e+00  5.939e-01    0.8322    3.4066
SmokerStatusEx-smoker                                     6.803e-01  1.470e+00    0.3423    1.3520
SmokerStatusNever smoked                                  1.002e+00  9.977e-01    0.3703    2.7128
Med.Statin.LLDno                                          9.528e-01  1.049e+00    0.4649    1.9528
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.799e+00  5.559e-01    0.7228    4.4770
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.848e-01  1.015e+00    0.9684    1.0014
BMI                                                       1.045e+00  9.569e-01    0.9614    1.1360
MedHx_CVDyes                                              1.173e+00  8.524e-01    0.5914    2.3274
stenose0-49%                                              6.448e-01  1.551e+00    0.0000       Inf
stenose50-70%                                             9.796e+06  1.021e-07    0.0000       Inf
stenose70-90%                                             1.086e+07  9.204e-08    0.0000       Inf
stenose90-99%                                             9.538e+06  1.048e-07    0.0000       Inf
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.731  (se = 0.036 )
Likelihood ratio test= 26.55  on 20 df,   p=0.1
Wald test            = 17.64  on 20 df,   p=0.6
Score (logrank) test = 26.48  on 20 df,   p=0.2


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.006664 
Standard error............: 0.3313 
Odds ratio (effect size)..: 0.993 
Lower 95% CI..............: 0.519 
Upper 95% CI..............: 1.902 
T-value...................: -0.020116 
P-value...................: 0.9839507 
Sample size in model......: 493 
Number of events..........: 42 
* Analyzing the effect of plaque proteins on [epcvdeath.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 3 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 33 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -3.140e-02  9.691e-01  3.909e-01 -0.080 0.935986    
Age                                                        6.855e-02  1.071e+00  2.734e-02  2.507 0.012184 *  
Gendermale                                                 1.257e+00  3.514e+00  5.710e-01  2.201 0.027752 *  
ORdate_year2003                                           -3.493e-01  7.052e-01  7.923e-01 -0.441 0.659346    
ORdate_year2004                                           -4.130e-01  6.617e-01  7.540e-01 -0.548 0.583910    
ORdate_year2005                                           -2.726e-01  7.614e-01  7.842e-01 -0.348 0.728105    
ORdate_year2006                                           -4.256e-01  6.534e-01  7.915e-01 -0.538 0.590757    
ORdate_year2007                                           -6.295e-01  5.328e-01  8.677e-01 -0.726 0.468137    
ORdate_year2008                                           -1.500e+00  2.232e-01  1.184e+00 -1.267 0.205119    
ORdate_year2009                                           -1.720e+00  1.790e-01  1.208e+00 -1.424 0.154429    
ORdate_year2010                                           -1.016e+00  3.619e-01  9.548e-01 -1.064 0.287140    
ORdate_year2011                                           -1.756e+00  1.727e-01  1.185e+00 -1.482 0.138314    
ORdate_year2012                                            3.301e-01  1.391e+00  8.299e-01  0.398 0.690793    
ORdate_year2013                                            2.612e-01  1.298e+00  1.546e+00  0.169 0.865840    
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
Hypertension.compositeno                                  -1.779e+01  1.873e-08  4.051e+03 -0.004 0.996495    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -1.483e-01  8.622e-01  4.463e-01 -0.332 0.739699    
SmokerStatusEx-smoker                                     -4.660e-01  6.275e-01  4.213e-01 -1.106 0.268657    
SmokerStatusNever smoked                                  -3.840e-01  6.811e-01  6.350e-01 -0.605 0.545349    
Med.Statin.LLDno                                           3.489e-02  1.036e+00  4.442e-01  0.079 0.937402    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     1.179e+00  3.250e+00  4.298e-01  2.742 0.006105 ** 
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -3.570e-02  9.649e-01  9.885e-03 -3.611 0.000305 ***
BMI                                                        9.230e-02  1.097e+00  5.371e-02  1.719 0.085699 .  
MedHx_CVDyes                                               7.441e-01  2.105e+00  4.748e-01  1.567 0.117016    
stenose0-49%                                              -1.925e+01  4.365e-09  2.730e+04 -0.001 0.999437    
stenose50-70%                                              2.928e-01  1.340e+00  1.484e+00  0.197 0.843637    
stenose70-90%                                             -5.827e-01  5.584e-01  1.424e+00 -0.409 0.682417    
stenose90-99%                                             -2.460e-01  7.820e-01  1.430e+00 -0.172 0.863457    
stenose100% (Occlusion)                                   -1.845e+01  9.752e-09  2.012e+04 -0.001 0.999268    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.947e+01  3.511e-09  3.503e+04 -0.001 0.999557    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 9.691e-01  1.032e+00   0.45042    2.0850
Age                                                       1.071e+00  9.337e-01   1.01506    1.1299
Gendermale                                                3.514e+00  2.846e-01   1.14741   10.7606
ORdate_year2003                                           7.052e-01  1.418e+00   0.14924    3.3323
ORdate_year2004                                           6.617e-01  1.511e+00   0.15096    2.9004
ORdate_year2005                                           7.614e-01  1.313e+00   0.16372    3.5408
ORdate_year2006                                           6.534e-01  1.531e+00   0.13851    3.0822
ORdate_year2007                                           5.328e-01  1.877e+00   0.09728    2.9187
ORdate_year2008                                           2.232e-01  4.480e+00   0.02194    2.2706
ORdate_year2009                                           1.790e-01  5.587e+00   0.01677    1.9106
ORdate_year2010                                           3.619e-01  2.763e+00   0.05570    2.3516
ORdate_year2011                                           1.727e-01  5.789e+00   0.01694    1.7615
ORdate_year2012                                           1.391e+00  7.188e-01   0.27351    7.0755
ORdate_year2013                                           1.298e+00  7.701e-01   0.06273   26.8779
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  1.873e-08  5.340e+07   0.00000       Inf
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    8.622e-01  1.160e+00   0.35947    2.0679
SmokerStatusEx-smoker                                     6.275e-01  1.594e+00   0.27482    1.4329
SmokerStatusNever smoked                                  6.811e-01  1.468e+00   0.19622    2.3644
Med.Statin.LLDno                                          1.036e+00  9.657e-01   0.43353    2.4733
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    3.250e+00  3.077e-01   1.39955    7.5456
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.649e-01  1.036e+00   0.94642    0.9838
BMI                                                       1.097e+00  9.118e-01   0.98712    1.2184
MedHx_CVDyes                                              2.105e+00  4.751e-01   0.82997    5.3369
stenose0-49%                                              4.365e-09  2.291e+08   0.00000       Inf
stenose50-70%                                             1.340e+00  7.462e-01   0.07307   24.5784
stenose70-90%                                             5.584e-01  1.791e+00   0.03425    9.1027
stenose90-99%                                             7.820e-01  1.279e+00   0.04740   12.8994
stenose100% (Occlusion)                                   9.752e-09  1.025e+08   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             3.511e-09  2.848e+08   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.858  (se = 0.027 )
Likelihood ratio test= 68.91  on 29 df,   p=4e-05
Wald test            = 27.5  on 29 df,   p=0.5
Score (logrank) test = 62.71  on 29 df,   p=3e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.031397 
Standard error............: 0.390912 
Odds ratio (effect size)..: 0.969 
Lower 95% CI..............: 0.45 
Upper 95% CI..............: 2.085 
T-value...................: -0.080316 
P-value...................: 0.9359857 
Sample size in model......: 1029 
Number of events..........: 33 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 3 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 33 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  1.426e-01  1.153e+00  4.005e-01  0.356 0.721816    
Age                                                        6.840e-02  1.071e+00  2.740e-02  2.497 0.012541 *  
Gendermale                                                 1.254e+00  3.504e+00  5.719e-01  2.192 0.028345 *  
ORdate_year2003                                           -3.537e-01  7.021e-01  7.910e-01 -0.447 0.654735    
ORdate_year2004                                           -3.586e-01  6.987e-01  7.556e-01 -0.475 0.635092    
ORdate_year2005                                           -2.165e-01  8.054e-01  7.870e-01 -0.275 0.783279    
ORdate_year2006                                           -4.195e-01  6.574e-01  7.880e-01 -0.532 0.594444    
ORdate_year2007                                           -6.501e-01  5.220e-01  8.694e-01 -0.748 0.454588    
ORdate_year2008                                           -1.517e+00  2.193e-01  1.184e+00 -1.281 0.200226    
ORdate_year2009                                           -1.774e+00  1.696e-01  1.212e+00 -1.464 0.143275    
ORdate_year2010                                           -1.063e+00  3.454e-01  9.514e-01 -1.117 0.263851    
ORdate_year2011                                           -1.799e+00  1.654e-01  1.188e+00 -1.515 0.129766    
ORdate_year2012                                            2.980e-01  1.347e+00  8.314e-01  0.358 0.720019    
ORdate_year2013                                            1.959e-01  1.216e+00  1.550e+00  0.126 0.899404    
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA    
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA    
Hypertension.compositeno                                  -1.781e+01  1.838e-08  4.036e+03 -0.004 0.996478    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -1.439e-01  8.659e-01  4.452e-01 -0.323 0.746430    
SmokerStatusEx-smoker                                     -4.723e-01  6.236e-01  4.215e-01 -1.121 0.262492    
SmokerStatusNever smoked                                  -3.913e-01  6.762e-01  6.356e-01 -0.616 0.538153    
Med.Statin.LLDno                                           2.338e-02  1.024e+00  4.444e-01  0.053 0.958046    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     1.178e+00  3.248e+00  4.304e-01  2.737 0.006197 ** 
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -3.554e-02  9.651e-01  9.875e-03 -3.599 0.000319 ***
BMI                                                        9.517e-02  1.100e+00  5.417e-02  1.757 0.078966 .  
MedHx_CVDyes                                               7.522e-01  2.122e+00  4.756e-01  1.582 0.113754    
stenose0-49%                                              -1.931e+01  4.129e-09  2.728e+04 -0.001 0.999435    
stenose50-70%                                              3.067e-01  1.359e+00  1.479e+00  0.207 0.835688    
stenose70-90%                                             -5.775e-01  5.613e-01  1.422e+00 -0.406 0.684666    
stenose90-99%                                             -2.341e-01  7.913e-01  1.428e+00 -0.164 0.869789    
stenose100% (Occlusion)                                   -1.841e+01  1.010e-08  2.013e+04 -0.001 0.999270    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.949e+01  3.420e-09  3.490e+04 -0.001 0.999554    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.153e+00  8.671e-01   0.52603    2.5284
Age                                                       1.071e+00  9.339e-01   1.01481    1.1299
Gendermale                                                3.504e+00  2.854e-01   1.14222   10.7486
ORdate_year2003                                           7.021e-01  1.424e+00   0.14896    3.3089
ORdate_year2004                                           6.987e-01  1.431e+00   0.15890    3.0720
ORdate_year2005                                           8.054e-01  1.242e+00   0.17221    3.7663
ORdate_year2006                                           6.574e-01  1.521e+00   0.14031    3.0798
ORdate_year2007                                           5.220e-01  1.916e+00   0.09497    2.8687
ORdate_year2008                                           2.193e-01  4.559e+00   0.02152    2.2351
ORdate_year2009                                           1.696e-01  5.897e+00   0.01576    1.8250
ORdate_year2010                                           3.454e-01  2.895e+00   0.05353    2.2292
ORdate_year2011                                           1.654e-01  6.045e+00   0.01613    1.6962
ORdate_year2012                                           1.347e+00  7.423e-01   0.26409    6.8718
ORdate_year2013                                           1.216e+00  8.221e-01   0.05834   25.3616
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  1.838e-08  5.440e+07   0.00000       Inf
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    8.659e-01  1.155e+00   0.36186    2.0721
SmokerStatusEx-smoker                                     6.236e-01  1.604e+00   0.27299    1.4245
SmokerStatusNever smoked                                  6.762e-01  1.479e+00   0.19458    2.3500
Med.Statin.LLDno                                          1.024e+00  9.769e-01   0.42841    2.4460
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    3.248e+00  3.079e-01   1.39726    7.5511
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.651e-01  1.036e+00   0.94658    0.9839
BMI                                                       1.100e+00  9.092e-01   0.98905    1.2230
MedHx_CVDyes                                              2.122e+00  4.713e-01   0.83528    5.3894
stenose0-49%                                              4.129e-09  2.422e+08   0.00000       Inf
stenose50-70%                                             1.359e+00  7.359e-01   0.07489   24.6596
stenose70-90%                                             5.613e-01  1.782e+00   0.03457    9.1136
stenose90-99%                                             7.913e-01  1.264e+00   0.04816   12.9998
stenose100% (Occlusion)                                   1.010e-08  9.902e+07   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             3.420e-09  2.924e+08   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.859  (se = 0.027 )
Likelihood ratio test= 69.03  on 29 df,   p=4e-05
Wald test            = 27.11  on 29 df,   p=0.6
Score (logrank) test = 62.76  on 29 df,   p=3e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.142597 
Standard error............: 0.400517 
Odds ratio (effect size)..: 1.153 
Lower 95% CI..............: 0.526 
Upper 95% CI..............: 2.528 
T-value...................: 0.356033 
P-value...................: 0.7218158 
Sample size in model......: 1029 
Number of events..........: 33 
   > processing [MCP1_rank]; 3 out of 3 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 23 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -2.622e-01  7.693e-01  4.494e-01 -0.584   0.5595  
Age                                                        5.013e-02  1.051e+00  3.195e-02  1.569   0.1167  
Gendermale                                                 1.054e+00  2.868e+00  6.793e-01  1.551   0.1209  
ORdate_year2003                                           -1.271e+00  2.805e-01  7.323e-01 -1.736   0.0826 .
ORdate_year2004                                           -6.318e-01  5.316e-01  5.815e-01 -1.086   0.2773  
ORdate_year2005                                           -9.060e-01  4.041e-01  6.295e-01 -1.439   0.1501  
ORdate_year2006                                           -5.482e-02  9.467e-01  9.111e-01 -0.060   0.9520  
ORdate_year2007                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2008                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2009                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2010                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2011                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2012                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2013                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2014                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2015                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2016                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2017                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2018                                                   NA         NA  0.000e+00     NA       NA  
ORdate_year2019                                                   NA         NA  0.000e+00     NA       NA  
Hypertension.compositeno                                  -1.807e+01  1.421e-08  4.772e+03 -0.004   0.9970  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                     4.995e-01  1.648e+00  5.415e-01  0.922   0.3563  
SmokerStatusEx-smoker                                     -6.120e-01  5.423e-01  4.861e-01 -1.259   0.2080  
SmokerStatusNever smoked                                  -1.704e-01  8.433e-01  7.487e-01 -0.228   0.8200  
Med.Statin.LLDno                                           8.436e-01  2.325e+00  4.609e-01  1.830   0.0672 .
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     3.283e-01  1.389e+00  6.869e-01  0.478   0.6327  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -2.097e-02  9.793e-01  1.077e-02 -1.946   0.0516 .
BMI                                                        5.405e-03  1.005e+00  6.169e-02  0.088   0.9302  
MedHx_CVDyes                                               1.281e+00  3.599e+00  6.417e-01  1.996   0.0459 *
stenose0-49%                                              -7.470e-01  4.738e-01  4.039e+04  0.000   1.0000  
stenose50-70%                                              3.499e-01  1.419e+00  2.391e+04  0.000   1.0000  
stenose70-90%                                              1.844e+01  1.021e+08  2.218e+04  0.001   0.9993  
stenose90-99%                                              1.818e+01  7.897e+07  2.218e+04  0.001   0.9993  
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 7.693e-01  1.300e+00   0.31887     1.856
Age                                                       1.051e+00  9.511e-01   0.98758     1.119
Gendermale                                                2.868e+00  3.487e-01   0.75751    10.860
ORdate_year2003                                           2.805e-01  3.566e+00   0.06676     1.178
ORdate_year2004                                           5.316e-01  1.881e+00   0.17006     1.662
ORdate_year2005                                           4.041e-01  2.474e+00   0.11767     1.388
ORdate_year2006                                           9.467e-01  1.056e+00   0.15872     5.646
ORdate_year2007                                                  NA         NA        NA        NA
ORdate_year2008                                                  NA         NA        NA        NA
ORdate_year2009                                                  NA         NA        NA        NA
ORdate_year2010                                                  NA         NA        NA        NA
ORdate_year2011                                                  NA         NA        NA        NA
ORdate_year2012                                                  NA         NA        NA        NA
ORdate_year2013                                                  NA         NA        NA        NA
ORdate_year2014                                                  NA         NA        NA        NA
ORdate_year2015                                                  NA         NA        NA        NA
ORdate_year2016                                                  NA         NA        NA        NA
ORdate_year2017                                                  NA         NA        NA        NA
ORdate_year2018                                                  NA         NA        NA        NA
ORdate_year2019                                                  NA         NA        NA        NA
Hypertension.compositeno                                  1.421e-08  7.038e+07   0.00000       Inf
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.648e+00  6.068e-01   0.57016     4.763
SmokerStatusEx-smoker                                     5.423e-01  1.844e+00   0.20916     1.406
SmokerStatusNever smoked                                  8.433e-01  1.186e+00   0.19438     3.659
Med.Statin.LLDno                                          2.325e+00  4.301e-01   0.94198     5.738
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.389e+00  7.201e-01   0.36130     5.337
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.793e-01  1.021e+00   0.95879     1.000
BMI                                                       1.005e+00  9.946e-01   0.89092     1.135
MedHx_CVDyes                                              3.599e+00  2.778e-01   1.02330    12.658
stenose0-49%                                              4.738e-01  2.111e+00   0.00000       Inf
stenose50-70%                                             1.419e+00  7.047e-01   0.00000       Inf
stenose70-90%                                             1.021e+08  9.797e-09   0.00000       Inf
stenose90-99%                                             7.897e+07  1.266e-08   0.00000       Inf
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.836  (se = 0.034 )
Likelihood ratio test= 36.94  on 20 df,   p=0.01
Wald test            = 16.64  on 20 df,   p=0.7
Score (logrank) test = 33.1  on 20 df,   p=0.03


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.262229 
Standard error............: 0.449375 
Odds ratio (effect size)..: 0.769 
Lower 95% CI..............: 0.319 
Upper 95% CI..............: 1.856 
T-value...................: -0.583541 
P-value...................: 0.5595292 
Sample size in model......: 493 
Number of events..........: 23 

cat("- Edit the column names...\n")
- Edit the column names...
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
- Correct the variable types...
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
- Writing results to Excel-file...
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
- Removing intermediate files...
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

rm(head.style)
object 'head.style' not found

30-days follow-up

MODEL 1

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times30)){
  eptime = times30[i]
  ep = endpoints30[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".30days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 1 (Simple model)
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)

    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL1.30days.pdf"), height = 12, width = 10, onefile = TRUE)
    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
library(openxlsx)
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.30days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

#rm(head.style)

MODEL 2

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times30)){
  eptime = times30[i]
  ep = endpoints30[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  #as.integer(TEMP.DF[,ep] == "Excluded")

  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".30days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)

  
    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL2.30days.pdf"), height = 12, width = 10, onefile = TRUE)

    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.30days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

rm(head.style)

90-days follow-up

MODEL 1

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times90)){
  eptime = times90[i]
  ep = endpoints90[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".90days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 1 (Simple model)
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)

    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL1.90days.pdf"), height = 12, width = 10, onefile = TRUE)
    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
library(openxlsx)
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.90days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

#rm(head.style)

MODEL 2

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times90)){
  eptime = times90[i]
  ep = endpoints90[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  #as.integer(TEMP.DF[,ep] == "Excluded")

  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".90days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)

  
    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL2.90days.pdf"), height = 12, width = 10, onefile = TRUE)

    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.90days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

rm(head.style)

Correlations

All biomarkers

We correlated plasma and plaque levels of the biomarkers.


# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools)) 
  install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
Skipping install of 'ggcorrplot' from a github remote, the SHA1 (c46b4cce) has not changed since last install.
  Use `force = TRUE` to force installation
library(ggcorrplot)


# Creating matrix - inverse-rank transformation
# --------------------------------
# AEDB.CEA.temp <- subset(AEDB.CEA, 
#                           select = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank",
#                                                TRAITS.BIN, TRAITS.CON.RANK)
#                                     )
# AEDB.CEA.temp <- subset(AEDB.CEA, 
#                           select = c("MCP1_rank", "MCP1_pg_ug_2015_rank",
#                                                TRAITS.BIN, TRAITS.CON.RANK)
#                                     )
AEDB.CEA.temp <- subset(AEDB.CEA, 
                          select = c("MCP1_pg_ug_2015_rank",
                                               TRAITS.BIN, TRAITS.CON.RANK)
                                    )


AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
AEDB.CEA.temp$MAC_binned <- as.numeric(AEDB.CEA.temp$MAC_binned)
AEDB.CEA.temp$SMC_binned <- as.numeric(AEDB.CEA.temp$SMC_binned)
str(AEDB.CEA.temp)
'data.frame':   2423 obs. of  10 variables:
 $ MCP1_pg_ug_2015_rank: num  0.938 2.159 1.21 1.996 1.407 ...
 $ CalcificationPlaque : num  1 1 1 1 2 2 2 2 1 2 ...
 $ CollagenPlaque      : num  2 2 2 2 1 2 2 2 2 1 ...
 $ Fat10Perc           : num  2 2 2 2 2 2 2 1 2 2 ...
 $ IPH                 : num  2 2 2 1 2 2 2 2 2 2 ...
 $ MAC_binned          : num  1 1 1 1 1 1 2 1 1 1 ...
 $ SMC_binned          : num  1 1 2 2 1 1 1 2 2 1 ...
 $ Macrophages_rank    : num  1.121 1.366 0.722 0.396 -1.013 ...
 $ SMC_rank            : num  1.13161 0.00148 1.42686 1.26957 0.34377 ...
 $ VesselDensity_rank  : num  -0.978 -0.774 0.717 1.1 1.518 ...
AEDB.CEA.matrix.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)

corr_biomarkers.rank <- round(cor(AEDB.CEA.matrix.RANK, 
                             use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
                             method = "spearman"), 3)
# corr_biomarkers.rank

corr_biomarkers_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.RANK, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers.rank, 
           method = "square", 
           type = "lower",
           title = "Cross biomarker correlations", 
           show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
           ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
           show.diag = TRUE,
           hc.order = FALSE, 
           lab = FALSE,
           digits = 3,
           # p.mat = corr_biomarkers_p.rank, sig.level = 0.05,
           colors = c("#1290D9", "#FFFFFF", "#E55738"))



# flattenCorrMatrix
# --------------------------------
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
  ut <- upper.tri(cormat)
  data.frame(
    biomarker_row = rownames(cormat)[row(cormat)[ut]],
    biomarker_column = rownames(cormat)[col(cormat)[ut]],
    spearman_cor  =(cormat)[ut],
    pval = pmat[ut]
    )
}

corr_biomarkers.rank.df <- as.data.table(flattenCorrMatrix(corr_biomarkers.rank, corr_biomarkers_p.rank))
DT::datatable(corr_biomarkers.rank.df)


# chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("PerformanceAnalytics")
chart.Correlation.new <- function (R, histogram = TRUE, method = c("pearson", "kendall", 
    "spearman"), ...) 
{
    x = checkData(R, method = "matrix")
    if (missing(method)) 
        method = method[1]
    cormeth <- method
    panel.cor <- function(x, y, digits = 2, prefix = "", use = "pairwise.complete.obs", 
        method = cormeth, cex.cor, ...) {
        usr <- par("usr")
        on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        r <- cor(x, y, use = use, method = method)
        txt <- format(c(r, 0.123456789), digits = digits)[1]
        txt <- paste(prefix, txt, sep = "")
        if (missing(cex.cor)) 
            cex <- 0.8/strwidth(txt)
        test <- cor.test(as.numeric(x), as.numeric(y), method = method)
        Signif <- symnum(test$p.value, corr = FALSE, na = FALSE, 
            cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***", 
                "**", "*", ".", " "))
        text(0.5, 0.5, txt, cex = cex * (abs(r) + 0.3)/1.3)
        text(0.8, 0.8, Signif, cex = cex, col = 2)
    }
    f <- function(t) {
        dnorm(t, mean = mean(x), sd = sd.xts(x))
    }
    dotargs <- list(...)
    dotargs$method <- NULL
    rm(method)
    hist.panel = function(x, ... = NULL) {
        par(new = TRUE)
        hist(x, col = "#1290D9", probability = TRUE, axes = FALSE, 
        # hist(x, col = "light gray", probability = TRUE, axes = FALSE, 
            main = "", breaks = "FD")
        lines(density(x, na.rm = TRUE), col = "#E55738", lwd = 1)
        rug(x)
    }
    if (histogram) 
        pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, 
            diag.panel = hist.panel, ...)
    else pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, ...)
}


chart.Correlation.new(AEDB.CEA.matrix.RANK, method = "spearman", histogram = TRUE, pch = 3)



# alternative chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("GGally")

# Quick display of two cabapilities of GGally, to assess the distribution and correlation of variables 
library(GGally)
 
# From the help page:

# ggpairs(AEDB.CEA, 
#         columns = c("MCP1_rank", "MCP1_pg_ug_2015_rank", TRAITS.BIN, TRAITS.CON.RANK), 
#         columnLabels = c("MCP1 (plasma)", "MCP1", 
#                          "Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages", "SMC", "Vessel density"),
#         method = c("spearman"),
#         # ggplot2::aes(colour = Gender),
#         progress = FALSE) 

ggpairs(AEDB.CEA,
        columns = c("MCP1_pg_ug_2015_rank", TRAITS.BIN, TRAITS.CON.RANK),
        columnLabels = c("MCP1",
                         "Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages (binned)", "SMC (binned)", "Macrophages", "SMC", "Vessel density"),
        method = c("spearman"),
        # ggplot2::aes(colour = Gender),
        progress = FALSE)
Extra arguments: 'method' are being ignored.  If these are meant to be aesthetics, submit them using the 'mapping' variable within ggpairs with ggplot2::aes or ggplot2::aes_string.

Circulating MCP1

Finally, we explored in a sub-sample, where circulating MCP-1 levels are available, the following:

  1. A correlation between MCP-1 levels in the plaque and circulating MCP-1 levels
  2. Associations of circulating MCP-1 levels with plaque vulnerability characteristics
  3. Associations of circulating MCP-1 levels with the status of the plaque in terms of presence of symptoms (symptomatic vs. asymptomatic)
  4. Associations of circulating MCP-1 levels with the primary composite endpoint of secondary cardiovascular events.

NOT AVAILABLE YET


# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools)) 
  install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")

library(ggcorrplot)


# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA, 
                          select = c("MCP1_rank", 
                                     TRAITS.BIN, TRAITS.CON.RANK, 
                                     "Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite")
                                    )

AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
AEDB.CEA.temp$Symptoms.5G <- as.numeric(AEDB.CEA.temp$Symptoms.5G)
AEDB.CEA.temp$AsymptSympt <- as.numeric(AEDB.CEA.temp$AsymptSympt)
AEDB.CEA.temp$EP_major <- as.numeric(AEDB.CEA.temp$EP_major)
AEDB.CEA.temp$EP_composite <- as.numeric(AEDB.CEA.temp$EP_composite)
# str(AEDB.CEA.temp)
AEDB.CEA.matrix.plasma.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)

corr_biomarkers_plasma.rank <- round(cor(AEDB.CEA.matrix.plasma.RANK, 
                             use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
                             method = "spearman"), 3)
# corr_biomarkers.rank

corr_biomarkers_plasma_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.plasma.RANK, use = "pairwise.complete.obs", method = "spearman")

# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers_plasma.rank, 
           method = "square", 
           type = "lower",
           title = "Cross biomarker correlations", 
           show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
           ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
           show.diag = TRUE,
           hc.order = FALSE, 
           lab = FALSE,
           digits = 3,
           # p.mat = corr_biomarkers_plasma_p.rank, sig.level = 0.05,
           colors = c("#1290D9", "#FFFFFF", "#E55738"))


# flattenCorrMatrix
# --------------------------------
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
  ut <- upper.tri(cormat)
  data.frame(
    biomarker_row = rownames(cormat)[row(cormat)[ut]],
    biomarker_column = rownames(cormat)[col(cormat)[ut]],
    spearman_cor  =(cormat)[ut],
    pval = pmat[ut]
    )
}


corr_biomarkers_plasma.rank.df <- as.data.table(flattenCorrMatrix(corr_biomarkers_plasma.rank, corr_biomarkers_plasma_p.rank))
DT::datatable(corr_biomarkers_plasma.rank.df)

# chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("PerformanceAnalytics")
chart.Correlation.new <- function (R, histogram = TRUE, method = c("pearson", "kendall", 
    "spearman"), ...) 
{
    x = checkData(R, method = "matrix")
    if (missing(method)) 
        method = method[1]
    cormeth <- method
    panel.cor <- function(x, y, digits = 2, prefix = "", use = "pairwise.complete.obs", 
        method = cormeth, cex.cor, ...) {
        usr <- par("usr")
        on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        r <- cor(x, y, use = use, method = method)
        txt <- format(c(r, 0.123456789), digits = digits)[1]
        txt <- paste(prefix, txt, sep = "")
        if (missing(cex.cor)) 
            cex <- 0.8/strwidth(txt)
        test <- cor.test(as.numeric(x), as.numeric(y), method = method)
        Signif <- symnum(test$p.value, corr = FALSE, na = FALSE, 
            cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***", 
                "**", "*", ".", " "))
        text(0.5, 0.5, txt, cex = cex * (abs(r) + 0.3)/1.3)
        text(0.8, 0.8, Signif, cex = cex, col = 2)
    }
    f <- function(t) {
        dnorm(t, mean = mean(x), sd = sd.xts(x))
    }
    dotargs <- list(...)
    dotargs$method <- NULL
    rm(method)
    hist.panel = function(x, ... = NULL) {
        par(new = TRUE)
        hist(x, col = "#1290D9", probability = TRUE, axes = FALSE, 
        # hist(x, col = "light gray", probability = TRUE, axes = FALSE, 
            main = "", breaks = "FD")
        lines(density(x, na.rm = TRUE), col = "#E55738", lwd = 1)
        rug(x)
    }
    if (histogram) 
        pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, 
            diag.panel = hist.panel, ...)
    else pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, ...)
}

chart.Correlation.new(AEDB.CEA.matrix.plasma.RANK, method = "spearman", histogram = TRUE, pch = 3)


# alternative chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("GGally")

# Quick display of two cabapilities of GGally, to assess the distribution and correlation of variables 
library(GGally)
 
# From the help page:
ggpairs(AEDB.CEA,
        columns = c("MCP1_rank", TRAITS.BIN, TRAITS.CON.RANK, "Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite"), 
        columnLabels = c("MCP1 (plasma)", 
                         "Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages", "SMC", "Vessel density",
                         "Symptoms", "Symptoms (grouped)", "MACE", "Composite"),
        method = c("spearman"),
        # ggplot2::aes(colour = Gender),
        progress = FALSE) 

Additional figures

Age and sex

We want to create per-age-group figures.

  • Box and Whisker plot for MCP-1 plaque levels by sex and age group (<55, 55-64, 65-74, 75-84, 85+)
  • Box and Whisker plot for MCP-1 plasma levels by sex and age group (<55, 55-64, 65-74, 75-84, 85+)
  • Scatter plot of the correlation and regression line between MCP-1 levels in plaque (y axis) and plasma (x axis).
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(AgeGroup = factor(case_when(Age < 55 ~ "<55",
                                                     Age >= 55  & Age <= 64 ~ "55-64",
                                                     Age >= 65  & Age <= 74 ~ "65-74",
                                                     Age >= 75  & Age <= 84 ~ "75-84",
                                                     Age >= 85 ~ "85+"))) 

AEDB.CEA <- AEDB.CEA %>% mutate(AgeGroupSex = factor(case_when(Age < 55 & Gender == "male" ~ "<55 males" ,
                                                        Age >= 55  & Age <= 64 & Gender == "male"~ "55-64 males",
                                                        Age >= 65  & Age <= 74 & Gender == "male"~ "65-74 males",
                                                        Age >= 75  & Age <= 84 & Gender == "male"~ "75-84 males",
                                                        Age >= 85 & Gender == "male"~ "85+ males",
                                                        Age < 55 & Gender == "female" ~ "<55 females" ,
                                                        Age >= 55  & Age <= 64 & Gender == "female"~ "55-64 females ",
                                                        Age >= 65  & Age <= 74 & Gender == "female"~ "65-74 females",
                                                        Age >= 75  & Age <= 84 & Gender == "female"~ "75-84 females",
                                                        Age >= 85 & Gender == "female"~ "85+ females")))

table(AEDB.CEA$AgeGroup, AEDB.CEA$Gender)
       
        female male
  <55       45   98
  55-64    194  410
  65-74    264  687
  75-84    202  439
  85+       34   50
table(AEDB.CEA$AgeGroupSex)

   <55 females      <55 males 55-64 females     55-64 males  65-74 females    65-74 males  75-84 females    75-84 males    85+ females      85+ males 
            45             98            194            410            264            687            202            439             34             50 

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# ?ggpubr::ggboxplot()

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# ?ggpubr::ggboxplot()

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Hypertension & blood pressure

We want to create figures of MCP1 levels stratified by hypertension/blood pressure, and use of anti-hypertensive drugs.

  • Box and Whisker plot for MCP-1 plaque levels by hypertension group (no, yes)
  • Box and Whisker plot for MCP-1 plasma levels by systolic blood pressure group (<120, 120-139, 140-159,160+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(SBPGroup = factor(case_when(systolic < 120 ~ "<120",
                                                     systolic >= 120  & systolic <= 139 ~ "120-139",
                                                     systolic >= 140  & systolic <= 159 ~ "140-159",
                                                     systolic >= 160 ~ "160+"))) 

table(AEDB.CEA$SBPGroup, AEDB.CEA$Gender)
         
          female male
  <120        54  114
  120-139    145  326
  140-159    197  497
  160+       269  548

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and hypertension/blood pressure group.

Inverse-rank transformed data

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)), 
                  x = c("SBPGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per medication use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Hypertension.drugs",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET


ggpubr::ggboxplot(AEDB.CEA,
                  x = c("SBPGroup"),
                  y = "MCP1_rank",
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") 

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)), 
                  x = c("SBPGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per medication use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Hypertension.drugs",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET


ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("SBPGroup"),
                  y = "MCP1", 
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Hypercholesterolemia & LDL levels

We want to create figures of MCP1 levels stratified by hypercholesterolemia/LDL-levels, and use of lipid-lowering drugs.

  • Box and Whisker plot for MCP-1 plaque levels by hypercholesterolemia group (no, yes)
  • Box and Whisker plot for MCP-1 plasma levels by LDL-levels (mmol/L) group (<100, 100-129, 130-159, 160-189, 190+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(LDLGroup = factor(case_when(LDL_finalCU < 100 ~ "<100",
                                                     LDL_finalCU >= 100  & LDL_finalCU <= 129 ~ "100-129",
                                                     LDL_finalCU >= 130  & LDL_finalCU <= 159 ~ "130-159",
                                                     LDL_finalCU >= 160  & LDL_finalCU <= 189 ~ "160-189",
                                                     LDL_finalCU >= 190 ~ "190+"))) 


table(AEDB.CEA$LDLGroup, AEDB.CEA$Gender)
         
          female male
  <100       171  441
  100-129     96  250
  130-159     75  129
  160-189     40   50
  190+        25   31

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and hypercholesterolemia/LDL-levels group, as well as stratified by lipid-lowering drugs users.

Inverse-rank transformed data

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per LLD use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Med.Statin.LLD",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per LLD use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Med.Statin.LLD",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Kidney function (eGFR)

We want to create figures of MCP1 levels stratified by kidney function.

  • Box and Whisker plot for MCP-1 plaque levels by chronic kidney disease (CKD) group (1, 2, 3, 4, 5)
  • Box and Whisker plot for MCP-1 plasma levels by eGFR (MDRD-based) group (90+, 60-89, 30-59, <30)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(eGFRGroup = factor(case_when(GFR_MDRD < 15 ~ "<15",
                                                             GFR_MDRD >= 15  & GFR_MDRD <= 29 ~ "15-29",
                                                             GFR_MDRD >= 30  & GFR_MDRD <= 59 ~ "30-59",
                                                             GFR_MDRD >= 60  & GFR_MDRD <= 89 ~ "60-89",
                                                             GFR_MDRD >= 90 ~ "90+")))

table(AEDB.CEA$eGFRGroup, AEDB.CEA$Gender)
       
        female male
  <15        3    7
  15-29      7   20
  30-59    193  325
  60-89    361  845
  90+      117  345
table(AEDB.CEA$eGFRGroup, AEDB.CEA$KDOQI)
       
        No data available/missing Normal kidney function CKD 2 (Mild) CKD 3 (Moderate) CKD 4 (Severe) CKD 5 (Failure)
  <15                           0                      0            0                0              0              10
  15-29                         0                      0            0                0             27               0
  30-59                         0                      0            0              518              0               0
  60-89                         0                      0         1206                0              0               0
  90+                           0                    462            0                0              0               0

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and kidney function group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)), 
                  x = c("KDOQI"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Kidney function (KDOQI) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right") 
rm(p1)

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "KDOQI",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# ?ggpubr::ggboxplot()

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)), 
                  x = c("KDOQI"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Kidney function (KDOQI) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right") 

rm(p1)

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "KDOQI",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")

rm(p1)

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

BMI

We want to create figures of MCP1 levels stratified by BMI.

  • Box and Whisker plot for MCP-1 plaque levels by BMI WHO group (underweight, normal, overweight, obese)
  • Box and Whisker plot for MCP-1 plasma levels by BMI group (<18.5, 18.5-24.9, 25, 29.9, 30-24.9, 35+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(BMIGroup = factor(case_when(BMI < 18.5 ~ "<18.5",
                                                     BMI >= 18.5  & BMI < 25 ~ "18.5-24",
                                                     BMI >= 25  & BMI < 30 ~ "25-29",
                                                     BMI >= 30  & BMI < 35 ~ "30-35",
                                                     BMI >= 35 ~ "35+"))) 

# require(labelled)
# AEDB.CEA$BMI_US <- as_factor(AEDB.CEA$BMI_US)
# AEDB.CEA$BMI_WHO <- as_factor(AEDB.CEA$BMI_WHO)
# table(AEDB.CEA$BMI_WHO, AEDB.CEA$BMI_US)

table(AEDB.CEA$BMIGroup, AEDB.CEA$Gender)
         
          female male
  <18.5       17    8
  18.5-24    277  574
  25-29      267  786
  30-35       99  189
  35+         32   32
table(AEDB.CEA$BMIGroup, AEDB.CEA$BMI_WHO)
         
          No data available/missing Underweight Normal Overweight Obese
  <18.5                           0          24      0          0     0
  18.5-24                         0           0    851          0     0
  25-29                           0           0      0       1052     0
  30-35                           0           0      0          0   288
  35+                             0           0      0          0    64

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)), 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2) per WHO categories",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "BMI_WHO",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels



# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)), 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2) per WHO categories",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "BMI_WHO",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")

rm(p1)

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Diabetes

We want to create figures of MCP1 levels stratified by type 2 diabetes.

  • Box and Whisker plot for MCP-1 plaque levels by type 2 diabetes group (no, yes)

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# ?ggpubr::ggboxplot()

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Smoking

We want to create figures of MCP1 levels stratified by smoking.

  • Box and Whisker plot for MCP-1 plaque levels by smoking group (never, ex, current)

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9", 
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9", 
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Stenosis

We want to create figures of MCP1 levels stratified by stenosis grade.

  • Box and Whisker plot for MCP-1 plaque levels by stenosis grade group (<70, 70-89, 90+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(StenoticGroup = factor(case_when(stenose == "0-49%" ~ "<70",
                                                     stenose == "0-49%" ~ "<70",
                                                     stenose == "50-70%" ~ "<70",
                                                     stenose == "70-90%" ~ "70-89",
                                                     stenose == "50-99%" ~ "90+",
                                                     stenose == "70-99%" ~ "90+",
                                                     stenose == "100% (Occlusion)" ~ "90+",
                                                     stenose == "90-99%" ~ "90+")))

table(AEDB.CEA$StenoticGroup, AEDB.CEA$Gender)
       
        female male
  <70       46  157
  70-89    365  762
  90+      316  726
table(AEDB.CEA$stenose, AEDB.CEA$StenoticGroup)
                  
                    <70 70-89  90+
  missing             0     0    0
  0-49%              13     0    0
  50-70%            190     0    0
  70-90%              0  1127    0
  90-99%              0     0  928
  100% (Occlusion)    0     0   31
  NA                  0     0    0
  50-99%              0     0   15
  70-99%              0     0   68
  99                  0     0    0

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("Gender"),
                  y = "MCP1_rank",
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+

  # stat_compare_means(method = "wilcox.test")

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+

  # stat_compare_means(method = "kruskal.test")

MCP1 plasma levels

NOT AVAILABLE YET

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("Gender"),
                  y = "MCP1", 
                  xlab = "Gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))

Circulating vs. plaque MCP1 levels

We will also make a nice correlation plot between plasma and plaque MCP1 levels.

NOT AVAILABLE YET


ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1_pg_ug_2015",
                  y = "MCP1", 
                  xlab = "MCP1 plaque [pg/ug]",
                  ylab = "MCP1 plasma [pg/mL]",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"), cor.coef.coord = c(8,750))

ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1_pg_ug_2015_rank",
                  y = "MCP1_rank", 
                  xlab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"), cor.coef.coord = c(2,3))

Plaque vs. plaque MCP1 levels

We will also make a nice correlation plot between the two experiments of plaque MCP1 levels.

AEDB.CEA$MCP1_rank <- qnorm((rank(AEDB.CEA$MCP1, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1)))
summary(AEDB.CEA$MCP1)
summary(AEDB.CEA$MCP1_pg_ug_2015)

ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1", 
                  y = "MCP1_pg_ug_2015",
                  xlab = "MCP1 plaque [pg/mL] (exp. no. 1)",
                  ylab = "MCP1 plaque [pg/ug] (exp. no. 2)",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"))

ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1_rank", 
                  y = "MCP1_pg_ug_2015_rank",
                  xlab = "MCP1 plaque [pg/mL]\n(INRT,  exp. no. 1)",
                  ylab = "MCP1 plaque [pg/ug]\n(INRT,  exp. no. 2)",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"))

Symptoms

We want to create per-symptom figures.

library(dplyr)

table(AEDB.CEA$AgeGroup, AEDB.CEA$AsymptSympt2G)
       
        Asymptomatic Symptomatic
  <55             24         119
  55-64           76         528
  65-74          124         827
  75-84           43         598
  85+              3          81
table(AEDB.CEA$Gender, AEDB.CEA$AsymptSympt2G)
        
         Asymptomatic Symptomatic
  female           64         675
  male            206        1478
table(AEDB.CEA$AsymptSympt2G)

Asymptomatic  Symptomatic 
         270         2153 

Now we can draw some graphs of plasma/plaque MCP1 levels per symptom group.


# ?ggpubr::ggboxplot()
my_comparisons <- list(c("Asymptomatic", "Symptomatic"))

p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "AsymptSympt2G", y = "MCP1_pg_ug_2015_rank",
                  title = "MCP1 plaque [pg/ug] levels per symptom", 
                  xlab = "Symptoms",
                  ylab = "MCP1 plaque [pg/ug]\n inverse-rank transformation",
                  color = "AsymptSympt2G", 
                  palette = c(uithof_color[16], uithof_color[23]),
                  add = "dotplot", # Add dotplot
                  add.params = list(binwidth = 0.1, dotsize = 0.3)
          ) +
  stat_compare_means(comparisons = my_comparisons, method = "wilcox.test")
ggpar(p1, legend = c("right"), legend.title = "Symptoms")

p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "AsymptSympt2G", y = "MCP1_rank",
                  title = "MCP1 plasma [pg/mL] levels per symptom", 
                  xlab = "Symptoms",
                  ylab = "MCP1 plasma [pg/mL]\n inverse-rank transformation",
                  color = "AsymptSympt2G", 
                  palette = c(uithof_color[16], uithof_color[23]),
                  add = "dotplot", # Add dotplot
                  add.params = list(binwidth = 0.1, dotsize = 0.3)
          ) +
  stat_compare_means(comparisons = my_comparisons, method = "wilcox.test")
ggpar(p1, legend = c("right"), legend.title = "Symptoms")
rm(p1)

Forest plots

We would also like to visualize the multivariable analyses results.

library(ggplot2)
library(openxlsx)
model1_mcp1 <- read.xlsx(paste0(OUT_loc, "/", Today, ".AEDB.CEA.Bin.Uni.Protein.RANK.Symptoms.MODEL1.xlsx"))
model2_mcp1 <- read.xlsx(paste0(OUT_loc, "/", Today, ".AEDB.CEA.Bin.Multi.Protein.RANK.Symptoms.MODEL2.xlsx"))
model1_mcp1$model <- "univariate"
model2_mcp1$model <- "multivariate"

models_mcp1 <- rbind(model1_mcp1, model2_mcp1)
models_mcp1
NA

dat <- data.frame(group = factor(c("Age, sex-adjusted", "Age, sex, and adjusted for risk factors"), 
                           
                           levels=c("Age, sex, and adjusted for risk factors", "Age, sex-adjusted")),
                  cen = c(models_mcp1$OR[models_mcp1$Predictor=="MCP1_rank"]),
                  low = c(models_mcp1$low95CI[models_mcp1$Predictor=="MCP1_rank"]),
                  high = c(models_mcp1$up95CI[models_mcp1$Predictor=="MCP1_rank"]))

fp <- ggplot(data=dat, aes(x=group, y=cen, ymin=low, ymax=high)) +
  geom_pointrange() + 
  geom_hline(yintercept=1, lty=2) +  # add a dotted line at x=1 after flip
  coord_flip() +  # flip coordinates (puts labels on y axis)
  xlab("Model") + ylab("OR (95% CI) for symptomatic plaques") +
  theme(text = element_text(size=14)) +
  ggtitle("plasma MCP-1 levels (1 SD increment)") +
  theme_minimal()  # use a white background
print(fp)
rm(fp)

MCP1 vs. cytokines plaque levels correlations

We will plot the correlations of other cytokine plaque levels to the MCP1 plaque levels. These include:

  • IL2
  • IL4
  • IL5
  • IL6
  • IL8
  • IL9
  • IL10
  • IL12
  • IL13
  • IL21
  • INFG
  • TNFA
  • MIF
  • MCP1
  • MIP1a
  • RANTES
  • MIG
  • IP10
  • Eotaxin1
  • TARC
  • PARC
  • MDC
  • OPG
  • sICAM1
  • VEGFA
  • TGFB

In addition we will look at three metalloproteinases which were measured using an activity assay.

  • MMP2
  • MMP8
  • MMP9

The proteins were measured using FACS and LUMINEX. Given the different platforms used (FACS vs. LUMINEX), we will inverse rank-normalize these variables as well to scale them to the same scale as the MCP1 plaque levels.

We will set the measurements that yielded ‘0’ to NA, as it is unlikely that any protein ever has exactly 0 copies. The ‘0’ yielded during the experiment are due to the limits of the detection.

Prepare data

cytokines <- c("IL2", "IL4", "IL5", "IL6", "IL8", "IL9", "IL10", "IL12", "IL13", "IL21", 
               "INFG", "TNFA", "MIF", "MCP1", "MIP1a", "RANTES", "MIG", "IP10", "Eotaxin1", 
               "TARC", "PARC", "MDC", "OPG", "sICAM1", "VEGFA", "TGFB")
metalloproteinases <- c("MMP2", "MMP8", "MMP9")

# fix names
names(AEDB.CEA)[names(AEDB.CEA) == "VEFGA"] <- "VEGFA"


proteins_of_interest <- c(cytokines, metalloproteinases)

proteins_of_interest_rank = unlist(lapply(proteins_of_interest, paste0, "_rank"))


# make variables numerics()
AEDB.CEA <- AEDB.CEA %>%
  mutate_each(funs(as.numeric), proteins_of_interest)
  
for(PROTEIN in 1:length(proteins_of_interest)){

  # UCORBIOGSAqc$Z <- NULL
  var.temp.rank = proteins_of_interest_rank[PROTEIN]
  var.temp = proteins_of_interest[PROTEIN]
  
  cat(paste0("\nSelecting ", var.temp, " and standardising: ", var.temp.rank,".\n"))
  cat(paste0("* changing ", var.temp, " to numeric.\n"))

  # AEDB.CEA <-  AEDB.CEA %>% mutate(AEDB.CEA[,var.temp] == replace(AEDB.CEA[,var.temp], AEDB.CEA[,var.temp]==0, NA))

  AEDB.CEA[,var.temp][AEDB.CEA[,var.temp]==0.000000]=NA

  cat(paste0("* standardising ", var.temp, 
             " (mean: ",round(mean(!is.na(AEDB.CEA[,var.temp])), digits = 6),
             ", n = ",sum(!is.na(AEDB.CEA[,var.temp])),").\n"))
  
  AEDB.CEA <- AEDB.CEA %>%
      mutate_at(vars(var.temp), 
        # list(Z = ~ (AEDB.CEA[,var.temp] - mean(AEDB.CEA[,var.temp], na.rm = TRUE))/sd(AEDB.CEA[,var.temp], na.rm = TRUE))
        list(RANK = ~ qnorm((rank(AEDB.CEA[,var.temp], na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA[,var.temp]))))
      )
  # str(UCORBIOGSAqc$Z)
  cat(paste0("* renaming RANK to ", var.temp.rank,".\n"))
  AEDB.CEA[,var.temp.rank] <- NULL
  names(AEDB.CEA)[names(AEDB.CEA) == "RANK"] <- var.temp.rank
}

Selecting IL2 and standardising: IL2_rank.
* changing IL2 to numeric.
* standardising IL2 (mean: 0.179942, n = 436).
* renaming RANK to IL2_rank.

Selecting IL4 and standardising: IL4_rank.
* changing IL4 to numeric.
* standardising IL4 (mean: 0.167561, n = 406).
* renaming RANK to IL4_rank.

Selecting IL5 and standardising: IL5_rank.
* changing IL5 to numeric.
* standardising IL5 (mean: 0.178291, n = 432).
* renaming RANK to IL5_rank.

Selecting IL6 and standardising: IL6_rank.
* changing IL6 to numeric.
* standardising IL6 (mean: 0.188196, n = 456).
* renaming RANK to IL6_rank.

Selecting IL8 and standardising: IL8_rank.
* changing IL8 to numeric.
* standardising IL8 (mean: 0.182006, n = 441).
* renaming RANK to IL8_rank.

Selecting IL9 and standardising: IL9_rank.
* changing IL9 to numeric.
* standardising IL9 (mean: 0.206356, n = 500).
* renaming RANK to IL9_rank.

Selecting IL10 and standardising: IL10_rank.
* changing IL10 to numeric.
* standardising IL10 (mean: 0.158894, n = 385).
* renaming RANK to IL10_rank.

Selecting IL12 and standardising: IL12_rank.
* changing IL12 to numeric.
* standardising IL12 (mean: 0.167974, n = 407).
* renaming RANK to IL12_rank.

Selecting IL13 and standardising: IL13_rank.
* changing IL13 to numeric.
* standardising IL13 (mean: 0.232769, n = 564).
* renaming RANK to IL13_rank.

Selecting IL21 and standardising: IL21_rank.
* changing IL21 to numeric.
* standardising IL21 (mean: 0.233182, n = 565).
* renaming RANK to IL21_rank.

Selecting INFG and standardising: INFG_rank.
* changing INFG to numeric.
* standardising INFG (mean: 0.179117, n = 434).
* renaming RANK to INFG_rank.

Selecting TNFA and standardising: TNFA_rank.
* changing TNFA to numeric.
* standardising TNFA (mean: 0.163434, n = 396).
* renaming RANK to TNFA_rank.

Selecting MIF and standardising: MIF_rank.
* changing MIF to numeric.
* standardising MIF (mean: 0.233182, n = 565).
* renaming RANK to MIF_rank.

Selecting MCP1 and standardising: MCP1_rank.
* changing MCP1 to numeric.
* standardising MCP1 (mean: 0.229468, n = 556).
* renaming RANK to MCP1_rank.

Selecting MIP1a and standardising: MIP1a_rank.
* changing MIP1a to numeric.
* standardising MIP1a (mean: 0.211721, n = 513).
* renaming RANK to MIP1a_rank.

Selecting RANTES and standardising: RANTES_rank.
* changing RANTES to numeric.
* standardising RANTES (mean: 0.228642, n = 554).
* renaming RANK to RANTES_rank.

Selecting MIG and standardising: MIG_rank.
* changing MIG to numeric.
* standardising MIG (mean: 0.226991, n = 550).
* renaming RANK to MIG_rank.

Selecting IP10 and standardising: IP10_rank.
* changing IP10 to numeric.
* standardising IP10 (mean: 0.205943, n = 499).
* renaming RANK to IP10_rank.

Selecting Eotaxin1 and standardising: Eotaxin1_rank.
* changing Eotaxin1 to numeric.
* standardising Eotaxin1 (mean: 0.233182, n = 565).
* renaming RANK to Eotaxin1_rank.

Selecting TARC and standardising: TARC_rank.
* changing TARC to numeric.
* standardising TARC (mean: 0.200578, n = 486).
* renaming RANK to TARC_rank.

Selecting PARC and standardising: PARC_rank.
* changing PARC to numeric.
* standardising PARC (mean: 0.233182, n = 565).
* renaming RANK to PARC_rank.

Selecting MDC and standardising: MDC_rank.
* changing MDC to numeric.
* standardising MDC (mean: 0.209657, n = 508).
* renaming RANK to MDC_rank.

Selecting OPG and standardising: OPG_rank.
* changing OPG to numeric.
* standardising OPG (mean: 0.232769, n = 564).
* renaming RANK to OPG_rank.

Selecting sICAM1 and standardising: sICAM1_rank.
* changing sICAM1 to numeric.
* standardising sICAM1 (mean: 0.233182, n = 565).
* renaming RANK to sICAM1_rank.

Selecting VEGFA and standardising: VEGFA_rank.
* changing VEGFA to numeric.
* standardising VEGFA (mean: 0.201403, n = 488).
* renaming RANK to VEGFA_rank.

Selecting TGFB and standardising: TGFB_rank.
* changing TGFB to numeric.
* standardising TGFB (mean: 0.22988, n = 557).
* renaming RANK to TGFB_rank.

Selecting MMP2 and standardising: MMP2_rank.
* changing MMP2 to numeric.
* standardising MMP2 (mean: 0.231944, n = 562).
* renaming RANK to MMP2_rank.

Selecting MMP8 and standardising: MMP8_rank.
* changing MMP8 to numeric.
* standardising MMP8 (mean: 0.231944, n = 562).
* renaming RANK to MMP8_rank.

Selecting MMP9 and standardising: MMP9_rank.
* changing MMP9 to numeric.
* standardising MMP9 (mean: 0.231531, n = 561).
* renaming RANK to MMP9_rank.
# rm(var.temp, var.temp.rank)

Visualize transformations

We will just visualize these transformations.

proteins_of_interest_rank_mcp1 <- c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", proteins_of_interest_rank)

proteins_of_interest_mcp1 <- c("MCP1_pg_ug_2015", "MCP1_pg_ml_2015", proteins_of_interest)

for(PROTEIN in proteins_of_interest_mcp1){
  cat(paste0("Plotting protein ", PROTEIN, ".\n"))
  
  p1 <- ggpubr::gghistogram(AEDB.CEA, PROTEIN,
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = paste0(PROTEIN, " plaque levels"),
                    xlab = "",
                    ggtheme = theme_minimal())
  print(p1)
  
}
Plotting protein MCP1_pg_ug_2015.
Using `bins = 30` by default. Pick better value with the argument `bins`.
Plotting protein MCP1_pg_ml_2015.
Plotting protein IL2.
Plotting protein IL4.
Plotting protein IL5.
Plotting protein IL6.
Plotting protein IL8.
Plotting protein IL9.
Plotting protein IL10.
Plotting protein IL12.
Plotting protein IL13.
Plotting protein IL21.
Plotting protein INFG.
Plotting protein TNFA.
Plotting protein MIF.
Plotting protein MCP1.
Plotting protein MIP1a.
Plotting protein RANTES.
Plotting protein MIG.
Plotting protein IP10.
Plotting protein Eotaxin1.
Plotting protein TARC.
Plotting protein PARC.
Plotting protein MDC.
Plotting protein OPG.
Plotting protein sICAM1.
Plotting protein VEGFA.
Plotting protein TGFB.
Plotting protein MMP2.
Plotting protein MMP8.
Plotting protein MMP9.

for(PROTEIN in proteins_of_interest_rank_mcp1){
  cat(paste0("Plotting protein ", PROTEIN, ".\n"))
  
  p1 <- ggpubr::gghistogram(AEDB.CEA, PROTEIN,
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = paste0(PROTEIN, " plaque levels"),
                    xlab = "inverse-normal transformation",
                    ggtheme = theme_minimal())
  print(p1)
  
}
Plotting protein MCP1_pg_ug_2015_rank.
Using `bins = 30` by default. Pick better value with the argument `bins`.
Plotting protein MCP1_pg_ml_2015_rank.
Plotting protein IL2_rank.
Plotting protein IL4_rank.
Plotting protein IL5_rank.
Plotting protein IL6_rank.
Plotting protein IL8_rank.
Plotting protein IL9_rank.
Plotting protein IL10_rank.
Plotting protein IL12_rank.
Plotting protein IL13_rank.
Plotting protein IL21_rank.
Plotting protein INFG_rank.
Plotting protein TNFA_rank.
Plotting protein MIF_rank.
Plotting protein MCP1_rank.
Plotting protein MIP1a_rank.
Plotting protein RANTES_rank.
Plotting protein MIG_rank.
Plotting protein IP10_rank.
Plotting protein Eotaxin1_rank.
Plotting protein TARC_rank.
Plotting protein PARC_rank.
Plotting protein MDC_rank.
Plotting protein OPG_rank.
Plotting protein sICAM1_rank.
Plotting protein VEGFA_rank.
Plotting protein TGFB_rank.
Plotting protein MMP2_rank.
Plotting protein MMP8_rank.
Plotting protein MMP9_rank.

NA

Correlations

Here we calculate correlations between MCP1_pg_ug_2015 and 28 other cytokines (including MCP1 as measured in experiment 1. We use Spearman’s test, thus, correlations a given in rho. Please note the indications of measurement methods:

  • L: LUMINEX
  • E: ELISA
  • a: activity assay
# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools)) 
  install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
Skipping install of 'ggcorrplot' from a github remote, the SHA1 (c46b4cce) has not changed since last install.
  Use `force = TRUE` to force installation
library(ggcorrplot)

# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA, 
                          select = c(proteins_of_interest_rank_mcp1)
                                    )

# str(AEDB.CEA.temp)
AEDB.CEA.matrix.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)

corr_biomarkers.rank <- round(cor(AEDB.CEA.matrix.RANK, 
                             use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
                             method = "spearman"), 3)
# corr_biomarkers.rank

rename_proteins_of_interest_mcp1 <- c("MCP1 (L, exp2, pg/ug)", "MCP1 (L, exp2, pg/mL)", 
                                    "IL2", "IL4", "IL5", "IL6", "IL8", "IL9", "IL10", "IL12", 
                                    "IL13 (L)", "IL21 (L)", 
                                    "INFG", "TNFA", "MIF (L)", 
                                    "MCP1 (L, exp1)", "MIP1a (L)", "RANTES (L)", "MIG (L)", "IP10 (L)", 
                                    "Eotaxin1 (L)", "TARC (L)", "PARC (L)", "MDC (L)", 
                                    "OPG (L)", "sICAM1 (L)", "VEGFA (E)", "TGFB (E)", "MMP2 (a)", "MMP8 (a)", "MMP9 (a)")
colnames(corr_biomarkers.rank) <- c(rename_proteins_of_interest_mcp1)
rownames(corr_biomarkers.rank) <- c(rename_proteins_of_interest_mcp1)

corr_biomarkers_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.RANK, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# ++++++++++++++++++++++++++++
# flattenCorrMatrix
# ++++++++++++++++++++++++++++
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
  ut <- upper.tri(cormat)
  data.frame(
    row = rownames(cormat)[row(cormat)[ut]],
    column = rownames(cormat)[col(cormat)[ut]],
    cor  =(cormat)[ut],
    p = pmat[ut]
    )
}

corr_biomarkers.rank.df <- flattenCorrMatrix(corr_biomarkers.rank, corr_biomarkers_p.rank)


names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "row"] <- "Cytokine_X"
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "column"] <- "CytokineY"
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "cor"] <- "SpearmanRho"

DT::datatable(corr_biomarkers.rank.df)


fwrite(corr_biomarkers.rank.df, file = paste0(OUT_loc, "/",Today,".correlation_cytokines.txt"))
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
p1 <- ggcorrplot(corr_biomarkers.rank, 
           method = "square", 
           type = "lower",
           title = "Cross biomarker correlations", 
           show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
           ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
           show.diag = TRUE,
           hc.order = FALSE, 
           lab = FALSE,
           digits = 3,
           tl.cex = 6,
           # xlab = c("MCP1"),
           # p.mat = corr_biomarkers_p.rank, sig.level = 0.05,
           colors = c("#1290D9", "#FFFFFF", "#E55738"))
p1
ggsave(filename = paste0(PLOT_loc, "/", Today, ".correlation_cytokines.png"), plot = last_plot())
Saving 7.29 x 4.51 in image

rm(p1)

While visually actractive we are not necessarily interested in the correlations between all the cytokines, rather of MCP1 with other cytokines only.

temp <- subset(corr_biomarkers.rank.df, Cytokine_X == "MCP1 (L, exp2, pg/ug)" )
temp$p_log10 <- -log10(temp$p)
p_threshold <- -log10(0.05/29)
p_threshold
[1] 2.763428
p1 <- ggbarplot(temp, x = "CytokineY", y = "SpearmanRho",
          fill = "CytokineY",               # change fill color by cyl
          # color = "white",            # Set bar border colors to white
          palette = uithof_color,            # jco journal color palett. see ?ggpar
          xlab = "Cytokine",
          ylab = expression("Spearman's"~italic(rho)),
          sort.val = "desc",          # Sort the value in dscending order
          sort.by.groups = FALSE,     # Don't sort inside each group
          x.text.angle = 45, # Rotate vertically x axis texts
          cex = 0.8
          )
ggpar(p1, legend = "bottom", 
      legend.title = "") +
  theme(axis.text.x = element_text(size = 9),
        axis.text.y = element_text(size = 9)) 


rm(p1)

temp <- subset(corr_biomarkers.rank.df, Cytokine_X == "MCP1 (L, exp2, pg/mL)" )
temp$p_log10 <- -log10(temp$p)
p_threshold <- -log10(0.05/29)
p_threshold
[1] 2.763428
p1 <- ggbarplot(temp, x = "CytokineY", y = "SpearmanRho",
          fill = "CytokineY",               # change fill color by cyl
          # color = "white",            # Set bar border colors to white
          palette = uithof_color,            # jco journal color palett. see ?ggpar
          xlab = "Cytokine",
          ylab = expression("Spearman's"~italic(rho)),
          sort.val = "desc",          # Sort the value in dscending order
          sort.by.groups = FALSE,     # Don't sort inside each group
          x.text.angle = 45, # Rotate vertically x axis texts
          cex = 0.8
          )
ggpar(p1, legend = "bottom", 
      legend.title = "") +
  theme(axis.text.x = element_text(size = 9),
        axis.text.y = element_text(size = 9)) 


rm(p1)

Another version - problably not good.


p1 <- ggdotchart(temp, x = "CytokineY", y = "p_log10",
           color = "CytokineY",                                # Color by groups
           palette = uithof_color, # Custom color palette
           xlab = "Cytokine",
           ylab = expression(log[10]~"("~italic(p)~")-value"),
           ylim = c(0, 6),
           sorting = "descending",                       # Sort value in descending order
           add = "segments",                             # Add segments from y = 0 to dots
           rotate = FALSE,                                # Rotate vertically
           # group = "CytokineY",                                # Order by groups
           dot.size = 8,                                 # Large dot size
           label = round(temp$SpearmanRho, digits = 3),                        # Add mpg values as dot labels
           font.label = list(color = "white", size = 8, 
                             vjust = 0.5)                   
           )
ggpar(p1, legend = "bottom", 
      legend.title = "") +
  theme(axis.text.x = element_text(size = 9),
        axis.text.y = element_text(size = 9))


# rm(temp, p1)

MCP1 vs. cytokines plaque levels lm()

Model 1

In this model we correct for Age, Gender, and year of surgery.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Analysis of plaque cytokines traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(proteins_of_interest_rank)) {
    TRAIT = proteins_of_interest_rank[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year, data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))

    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.3620          -0.2628          -0.9081          -0.7780           1.8186  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9917 -0.6348 -0.1100  0.5457  2.9426 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.2345432  0.4484350   0.523   0.6013    
currentDF[, TRAIT]  0.0330038  0.0562283   0.587   0.5576    
Age                 0.0008222  0.0061975   0.133   0.8945    
Gendermale          0.0851576  0.1155898   0.737   0.4618    
ORdate_year2003    -0.2431935  0.1700065  -1.430   0.1535    
ORdate_year2004    -0.8902256  0.1625588  -5.476 8.57e-08 ***
ORdate_year2005    -0.7743076  0.1936880  -3.998 7.88e-05 ***
ORdate_year2006     1.8714130  1.0008787   1.870   0.0624 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9789 on 333 degrees of freedom
Multiple R-squared:  0.1373,    Adjusted R-squared:  0.1192 
F-statistic: 7.571 on 7 and 333 DF,  p-value: 1.777e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: 0.033004 
Standard error............: 0.056228 
Odds ratio (effect size)..: 1.034 
Lower 95% CI..............: 0.926 
Upper 95% CI..............: 1.154 
T-value...................: 0.586962 
P-value...................: 0.5576271 
R^2.......................: 0.137295 
Adjusted r^2..............: 0.11916 
Sample size of AE DB......: 2423 
Sample size of model......: 341 
Missing data %............: 85.92654 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  
         0.3763          -0.2485          -0.9434          -0.5053  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0490 -0.6159 -0.1179  0.5095  2.9794 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.136470   0.463291   0.295   0.7685    
currentDF[, TRAIT] -0.026017   0.057918  -0.449   0.6536    
Age                 0.002894   0.006360   0.455   0.6494    
Gendermale          0.082685   0.120841   0.684   0.4943    
ORdate_year2003    -0.259649   0.172454  -1.506   0.1332    
ORdate_year2004    -0.962345   0.164735  -5.842 1.31e-08 ***
ORdate_year2005    -0.529840   0.215163  -2.463   0.0143 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.966 on 309 degrees of freedom
Multiple R-squared:  0.1358,    Adjusted R-squared:  0.119 
F-statistic: 8.091 on 6 and 309 DF,  p-value: 3.936e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.026017 
Standard error............: 0.057918 
Odds ratio (effect size)..: 0.974 
Lower 95% CI..............: 0.87 
Upper 95% CI..............: 1.091 
T-value...................: -0.449209 
P-value...................: 0.653596 
R^2.......................: 0.135778 
Adjusted r^2..............: 0.118997 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  
         0.4319          -0.3244          -0.9619          -0.6738  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0635 -0.6317 -0.1078  0.5099  3.0197 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.184316   0.433866   0.425 0.671242    
currentDF[, TRAIT] -0.030098   0.054855  -0.549 0.583587    
Age                 0.002694   0.006037   0.446 0.655648    
Gendermale          0.121202   0.113055   1.072 0.284471    
ORdate_year2003    -0.339279   0.166269  -2.041 0.042089 *  
ORdate_year2004    -0.989790   0.159578  -6.203 1.66e-09 ***
ORdate_year2005    -0.699931   0.196304  -3.566 0.000417 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9528 on 331 degrees of freedom
Multiple R-squared:  0.1348,    Adjusted R-squared:  0.1191 
F-statistic: 8.593 on 6 and 331 DF,  p-value: 1.076e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.030098 
Standard error............: 0.054855 
Odds ratio (effect size)..: 0.97 
Lower 95% CI..............: 0.871 
Upper 95% CI..............: 1.08 
T-value...................: -0.548692 
P-value...................: 0.5835868 
R^2.......................: 0.134776 
Adjusted r^2..............: 0.119093 
Sample size of AE DB......: 2423 
Sample size of model......: 338 
Missing data %............: 86.05035 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
        0.43948         -0.32658         -0.97118         -1.18231         -0.07596  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0156 -0.6779 -0.1707  0.5293  3.1393 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.124550   0.459541   0.271    0.787    
currentDF[, TRAIT]  0.072164   0.057987   1.244    0.214    
Age                 0.002668   0.006377   0.418    0.676    
Gendermale          0.164109   0.117902   1.392    0.165    
ORdate_year2003    -0.282647   0.174776  -1.617    0.107    
ORdate_year2004    -0.937848   0.166781  -5.623 3.88e-08 ***
ORdate_year2005    -1.215982   0.192126  -6.329 7.69e-10 ***
ORdate_year2006    -0.083841   0.733381  -0.114    0.909    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.011 on 344 degrees of freedom
Multiple R-squared:  0.1618,    Adjusted R-squared:  0.1447 
F-statistic: 9.485 on 7 and 344 DF,  p-value: 8.914e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.072164 
Standard error............: 0.057987 
Odds ratio (effect size)..: 1.075 
Lower 95% CI..............: 0.959 
Upper 95% CI..............: 1.204 
T-value...................: 1.244486 
P-value...................: 0.214168 
R^2.......................: 0.161789 
Adjusted r^2..............: 0.144733 
Sample size of AE DB......: 2423 
Sample size of model......: 352 
Missing data %............: 85.47255 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.5353              0.2208             -0.4198             -1.0477             -1.4484             -0.8770  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1247 -0.6432 -0.1477  0.5735  3.0446 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.684031   0.449340   1.522 0.128880    
currentDF[, TRAIT]  0.213453   0.055726   3.830 0.000153 ***
Age                -0.003752   0.006223  -0.603 0.546919    
Gendermale          0.152850   0.117965   1.296 0.195967    
ORdate_year2003    -0.424550   0.173906  -2.441 0.015155 *  
ORdate_year2004    -1.056251   0.165515  -6.382 5.85e-10 ***
ORdate_year2005    -1.434840   0.185976  -7.715 1.41e-13 ***
ORdate_year2006    -0.913525   0.514097  -1.777 0.076486 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9855 on 334 degrees of freedom
Multiple R-squared:  0.2078,    Adjusted R-squared:  0.1912 
F-statistic: 12.51 on 7 and 334 DF,  p-value: 2.979e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.213453 
Standard error............: 0.055726 
Odds ratio (effect size)..: 1.238 
Lower 95% CI..............: 1.11 
Upper 95% CI..............: 1.381 
T-value...................: 3.830438 
P-value...................: 0.0001527729 
R^2.......................: 0.207762 
Adjusted r^2..............: 0.191158 
Sample size of AE DB......: 2423 
Sample size of model......: 342 
Missing data %............: 85.88527 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.3860              0.1264             -0.2101             -0.9505             -1.0487             -0.6280  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1165 -0.7339 -0.1489  0.5609  2.9624 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.598668   0.457744   1.308   0.1917    
currentDF[, TRAIT]  0.121234   0.055554   2.182   0.0297 *  
Age                -0.004582   0.006298  -0.727   0.4674    
Gendermale          0.149585   0.116387   1.285   0.1995    
ORdate_year2003    -0.222499   0.192296  -1.157   0.2480    
ORdate_year2004    -0.963250   0.176131  -5.469 8.31e-08 ***
ORdate_year2005    -1.045247   0.176895  -5.909 7.77e-09 ***
ORdate_year2006    -0.634687   0.283809  -2.236   0.0259 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.046 on 373 degrees of freedom
Multiple R-squared:  0.1496,    Adjusted R-squared:  0.1336 
F-statistic:  9.37 on 7 and 373 DF,  p-value: 1.034e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.121234 
Standard error............: 0.055554 
Odds ratio (effect size)..: 1.129 
Lower 95% CI..............: 1.012 
Upper 95% CI..............: 1.259 
T-value...................: 2.182261 
P-value...................: 0.0297136 
R^2.......................: 0.149553 
Adjusted r^2..............: 0.133593 
Sample size of AE DB......: 2423 
Sample size of model......: 381 
Missing data %............: 84.27569 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  
         0.3016          -0.1677          -0.8636          -0.3192  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0704 -0.6223 -0.1270  0.4843  2.9980 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.050782   0.470356  -0.108    0.914    
currentDF[, TRAIT]  0.018549   0.061645   0.301    0.764    
Age                 0.003554   0.006532   0.544    0.587    
Gendermale          0.156951   0.124322   1.262    0.208    
ORdate_year2003    -0.153510   0.175500  -0.875    0.382    
ORdate_year2004    -0.862597   0.168345  -5.124 5.43e-07 ***
ORdate_year2005    -0.320473   0.244238  -1.312    0.190    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9796 on 294 degrees of freedom
Multiple R-squared:  0.1307,    Adjusted R-squared:  0.113 
F-statistic:  7.37 on 6 and 294 DF,  p-value: 2.337e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: 0.018549 
Standard error............: 0.061645 
Odds ratio (effect size)..: 1.019 
Lower 95% CI..............: 0.903 
Upper 95% CI..............: 1.15 
T-value...................: 0.300904 
P-value...................: 0.7637 
R^2.......................: 0.130748 
Adjusted r^2..............: 0.113008 
Sample size of AE DB......: 2423 
Sample size of model......: 301 
Missing data %............: 87.57738 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  
         0.3012          -0.1766          -0.8561          -0.6157  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0692 -0.6175 -0.1404  0.5207  2.9701 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.179640   0.466374  -0.385  0.70037    
currentDF[, TRAIT]  0.046670   0.058746   0.794  0.42755    
Age                 0.005279   0.006453   0.818  0.41398    
Gendermale          0.146949   0.119958   1.225  0.22150    
ORdate_year2003    -0.130506   0.176741  -0.738  0.46083    
ORdate_year2004    -0.836820   0.165671  -5.051 7.53e-07 ***
ORdate_year2005    -0.608259   0.221345  -2.748  0.00635 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9724 on 309 degrees of freedom
Multiple R-squared:  0.1275,    Adjusted R-squared:  0.1106 
F-statistic: 7.526 on 6 and 309 DF,  p-value: 1.522e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: 0.04667 
Standard error............: 0.058746 
Odds ratio (effect size)..: 1.048 
Lower 95% CI..............: 0.934 
Upper 95% CI..............: 1.176 
T-value...................: 0.794432 
P-value...................: 0.4275535 
R^2.......................: 0.127505 
Adjusted r^2..............: 0.110563 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4516              0.1536             -0.3551             -0.9984             -1.1330             -0.6781  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0029 -0.6944 -0.1587  0.5321  3.0112 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.556329   0.413448   1.346   0.1792    
currentDF[, TRAIT]  0.148371   0.050988   2.910   0.0038 ** 
Age                -0.002579   0.005680  -0.454   0.6500    
Gendermale          0.103696   0.105241   0.985   0.3250    
ORdate_year2003    -0.361074   0.176164  -2.050   0.0410 *  
ORdate_year2004    -1.001193   0.168402  -5.945 5.75e-09 ***
ORdate_year2005    -1.129306   0.171826  -6.572 1.45e-10 ***
ORdate_year2006    -0.683258   0.273394  -2.499   0.0128 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.011 on 426 degrees of freedom
Multiple R-squared:  0.1478,    Adjusted R-squared:  0.1338 
F-statistic: 10.56 on 7 and 426 DF,  p-value: 2.903e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.148371 
Standard error............: 0.050988 
Odds ratio (effect size)..: 1.16 
Lower 95% CI..............: 1.05 
Upper 95% CI..............: 1.282 
T-value...................: 2.90994 
P-value...................: 0.003804448 
R^2.......................: 0.147842 
Adjusted r^2..............: 0.13384 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4408              0.1418             -0.3465             -0.9875             -1.1146             -0.6564  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0513 -0.6845 -0.1504  0.5563  2.9758 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.577740   0.412341   1.401  0.16190    
currentDF[, TRAIT]  0.135053   0.051527   2.621  0.00908 ** 
Age                -0.003027   0.005652  -0.536  0.59258    
Gendermale          0.100466   0.105225   0.955  0.34023    
ORdate_year2003    -0.352065   0.175682  -2.004  0.04570 *  
ORdate_year2004    -0.989572   0.168289  -5.880 8.28e-09 ***
ORdate_year2005    -1.110432   0.171394  -6.479 2.55e-10 ***
ORdate_year2006    -0.660808   0.273738  -2.414  0.01620 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.012 on 427 degrees of freedom
Multiple R-squared:  0.1445,    Adjusted R-squared:  0.1305 
F-statistic: 10.31 on 7 and 427 DF,  p-value: 5.852e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.135053 
Standard error............: 0.051527 
Odds ratio (effect size)..: 1.145 
Lower 95% CI..............: 1.035 
Upper 95% CI..............: 1.266 
T-value...................: 2.621001 
P-value...................: 0.00908008 
R^2.......................: 0.144523 
Adjusted r^2..............: 0.130498 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.2618           0.1810          -0.2530          -0.9506          -0.9530          -1.6086  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0510 -0.6338 -0.1263  0.5110  2.9746 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.1688208  0.4596170   0.367   0.7136    
currentDF[, TRAIT]  0.0604226  0.0624916   0.967   0.3343    
Age                 0.0007079  0.0063368   0.112   0.9111    
Gendermale          0.1957171  0.1198107   1.634   0.1033    
ORdate_year2003    -0.2188750  0.1734657  -1.262   0.2079    
ORdate_year2004    -0.9158013  0.1660745  -5.514 7.10e-08 ***
ORdate_year2005    -0.8829951  0.2099986  -4.205 3.38e-05 ***
ORdate_year2006    -1.4818514  0.7304186  -2.029   0.0433 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.996 on 328 degrees of freedom
Multiple R-squared:  0.1503,    Adjusted R-squared:  0.1322 
F-statistic:  8.29 on 7 and 328 DF,  p-value: 2.542e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: 0.060423 
Standard error............: 0.062492 
Odds ratio (effect size)..: 1.062 
Lower 95% CI..............: 0.94 
Upper 95% CI..............: 1.201 
T-value...................: 0.96689 
P-value...................: 0.3343113 
R^2.......................: 0.150318 
Adjusted r^2..............: 0.132185 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.3594          -0.2351          -0.9075          -0.8277          -1.8130  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0393 -0.6186 -0.1164  0.5245  2.9968 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.132089   0.466571   0.283 0.777292    
currentDF[, TRAIT]  0.010954   0.060391   0.181 0.856195    
Age                 0.001899   0.006432   0.295 0.767958    
Gendermale          0.137976   0.119161   1.158 0.247836    
ORdate_year2003    -0.225484   0.179670  -1.255 0.210465    
ORdate_year2004    -0.903785   0.173517  -5.209 3.56e-07 ***
ORdate_year2005    -0.828797   0.220543  -3.758 0.000206 ***
ORdate_year2006    -1.865749   0.970695  -1.922 0.055550 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9573 on 298 degrees of freedom
Multiple R-squared:  0.1424,    Adjusted R-squared:  0.1223 
F-statistic:  7.07 on 7 and 298 DF,  p-value: 8.128e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: 0.010954 
Standard error............: 0.060391 
Odds ratio (effect size)..: 1.011 
Lower 95% CI..............: 0.898 
Upper 95% CI..............: 1.138 
T-value...................: 0.181377 
P-value...................: 0.8561947 
R^2.......................: 0.142418 
Adjusted r^2..............: 0.122274 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.3931          -0.2888          -0.9182          -1.0642          -0.6826  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9759 -0.6988 -0.1331  0.5678  2.9702 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.619940   0.419388   1.478   0.1401    
currentDF[, TRAIT]  0.009013   0.055925   0.161   0.8720    
Age                -0.004610   0.005676  -0.812   0.4171    
Gendermale          0.121880   0.105805   1.152   0.2500    
ORdate_year2003    -0.301294   0.176000  -1.712   0.0876 .  
ORdate_year2004    -0.916586   0.175452  -5.224 2.74e-07 ***
ORdate_year2005    -1.052734   0.179771  -5.856 9.47e-09 ***
ORdate_year2006    -0.673339   0.282532  -2.383   0.0176 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.02 on 427 degrees of freedom
Multiple R-squared:  0.1308,    Adjusted R-squared:  0.1166 
F-statistic:  9.18 on 7 and 427 DF,  p-value: 1.371e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.009013 
Standard error............: 0.055925 
Odds ratio (effect size)..: 1.009 
Lower 95% CI..............: 0.904 
Upper 95% CI..............: 1.126 
T-value...................: 0.161168 
P-value...................: 0.8720375 
R^2.......................: 0.130812 
Adjusted r^2..............: 0.116563 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.3023              0.2097             -0.2563             -0.8013             -0.9411             -0.5196  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0954 -0.6862 -0.1195  0.5767  3.0085 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.471837   0.413506   1.141   0.2545    
currentDF[, TRAIT]  0.203520   0.049243   4.133 4.32e-05 ***
Age                -0.003341   0.005637  -0.593   0.5538    
Gendermale          0.090893   0.104877   0.867   0.3866    
ORdate_year2003    -0.267411   0.173602  -1.540   0.1242    
ORdate_year2004    -0.809982   0.166899  -4.853 1.71e-06 ***
ORdate_year2005    -0.941670   0.170880  -5.511 6.22e-08 ***
ORdate_year2006    -0.525289   0.273184  -1.923   0.0552 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1 on 423 degrees of freedom
Multiple R-squared:  0.1627,    Adjusted R-squared:  0.1488 
F-statistic: 11.74 on 7 and 423 DF,  p-value: 1.111e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.20352 
Standard error............: 0.049243 
Odds ratio (effect size)..: 1.226 
Lower 95% CI..............: 1.113 
Upper 95% CI..............: 1.35 
T-value...................: 4.132935 
P-value...................: 4.319487e-05 
R^2.......................: 0.162694 
Adjusted r^2..............: 0.148837 
Sample size of AE DB......: 2423 
Sample size of model......: 431 
Missing data %............: 82.21213 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.3992              0.1664             -0.2543             -0.9918             -1.0730             -0.6045  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0861 -0.7111 -0.1538  0.5743  2.9969 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.684263   0.444221   1.540   0.1243    
currentDF[, TRAIT]  0.157843   0.054205   2.912   0.0038 ** 
Age                -0.005388   0.006119  -0.881   0.3791    
Gendermale          0.121865   0.113622   1.073   0.2841    
ORdate_year2003    -0.271864   0.185532  -1.465   0.1436    
ORdate_year2004    -1.000532   0.173699  -5.760 1.72e-08 ***
ORdate_year2005    -1.067814   0.174729  -6.111 2.42e-09 ***
ORdate_year2006    -0.606799   0.280675  -2.162   0.0312 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.034 on 386 degrees of freedom
Multiple R-squared:  0.1546,    Adjusted R-squared:  0.1393 
F-statistic: 10.09 on 7 and 386 DF,  p-value: 1.338e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.157843 
Standard error............: 0.054205 
Odds ratio (effect size)..: 1.171 
Lower 95% CI..............: 1.053 
Upper 95% CI..............: 1.302 
T-value...................: 2.911974 
P-value...................: 0.003800085 
R^2.......................: 0.154627 
Adjusted r^2..............: 0.139296 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.3931          -0.2962          -0.9115          -1.0642          -0.6826  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9644 -0.7037 -0.1306  0.5816  2.9877 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.618366   0.432466   1.430   0.1535    
currentDF[, TRAIT]  0.001758   0.056046   0.031   0.9750    
Age                -0.004528   0.005783  -0.783   0.4341    
Gendermale          0.121765   0.107805   1.129   0.2593    
ORdate_year2003    -0.309602   0.183784  -1.685   0.0928 .  
ORdate_year2004    -0.916235   0.186148  -4.922 1.23e-06 ***
ORdate_year2005    -1.059197   0.186301  -5.685 2.45e-08 ***
ORdate_year2006    -0.681405   0.285456  -2.387   0.0174 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.025 on 419 degrees of freedom
Multiple R-squared:  0.128, Adjusted R-squared:  0.1135 
F-statistic: 8.789 on 7 and 419 DF,  p-value: 4.252e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.001758 
Standard error............: 0.056046 
Odds ratio (effect size)..: 1.002 
Lower 95% CI..............: 0.898 
Upper 95% CI..............: 1.118 
T-value...................: 0.031367 
P-value...................: 0.974992 
R^2.......................: 0.128036 
Adjusted r^2..............: 0.113469 
Sample size of AE DB......: 2423 
Sample size of model......: 427 
Missing data %............: 82.37722 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4532              0.1270             -0.2950             -1.0048             -1.1459             -0.7489  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9884 -0.7095 -0.1351  0.5597  2.9038 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.638188   0.423505   1.507  0.13259    
currentDF[, TRAIT]  0.119014   0.053602   2.220  0.02694 *  
Age                -0.003763   0.005845  -0.644  0.52006    
Gendermale          0.101203   0.107367   0.943  0.34644    
ORdate_year2003    -0.303820   0.177644  -1.710  0.08796 .  
ORdate_year2004    -1.005159   0.172890  -5.814 1.22e-08 ***
ORdate_year2005    -1.137169   0.176158  -6.455 3.01e-10 ***
ORdate_year2006    -0.745611   0.277790  -2.684  0.00756 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.021 on 416 degrees of freedom
Multiple R-squared:  0.1393,    Adjusted R-squared:  0.1249 
F-statistic: 9.622 on 7 and 416 DF,  p-value: 4.162e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.119014 
Standard error............: 0.053602 
Odds ratio (effect size)..: 1.126 
Lower 95% CI..............: 1.014 
Upper 95% CI..............: 1.251 
T-value...................: 2.22032 
P-value...................: 0.02693525 
R^2.......................: 0.139348 
Adjusted r^2..............: 0.124866 
Sample size of AE DB......: 2423 
Sample size of model......: 424 
Missing data %............: 82.50103 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4021              0.1745             -0.3183             -0.9780             -1.0638             -0.7078  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8665 -0.6917 -0.1355  0.5949  2.9744 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.451725   0.440187   1.026 0.305445    
currentDF[, TRAIT]  0.174173   0.052434   3.322 0.000981 ***
Age                -0.001962   0.006085  -0.322 0.747306    
Gendermale          0.126639   0.110972   1.141 0.254512    
ORdate_year2003    -0.324274   0.182611  -1.776 0.076572 .  
ORdate_year2004    -0.985870   0.170107  -5.796 1.43e-08 ***
ORdate_year2005    -1.060500   0.172497  -6.148 1.99e-09 ***
ORdate_year2006    -0.715267   0.286997  -2.492 0.013119 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.015 on 380 degrees of freedom
Multiple R-squared:  0.1582,    Adjusted R-squared:  0.1427 
F-statistic:  10.2 on 7 and 380 DF,  p-value: 1.013e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.174173 
Standard error............: 0.052434 
Odds ratio (effect size)..: 1.19 
Lower 95% CI..............: 1.074 
Upper 95% CI..............: 1.319 
T-value...................: 3.321736 
P-value...................: 0.0009813086 
R^2.......................: 0.158178 
Adjusted r^2..............: 0.142671 
Sample size of AE DB......: 2423 
Sample size of model......: 388 
Missing data %............: 83.98679 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4255              0.1124             -0.3005             -0.9780             -1.1039             -0.6731  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0451 -0.6895 -0.1583  0.5743  2.9151 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.604346   0.413458   1.462   0.1446    
currentDF[, TRAIT]  0.104101   0.052426   1.986   0.0477 *  
Age                -0.003633   0.005661  -0.642   0.5214    
Gendermale          0.099097   0.105903   0.936   0.3499    
ORdate_year2003    -0.309333   0.175244  -1.765   0.0783 .  
ORdate_year2004    -0.978929   0.169238  -5.784 1.41e-08 ***
ORdate_year2005    -1.098711   0.171978  -6.389 4.38e-10 ***
ORdate_year2006    -0.674763   0.274565  -2.458   0.0144 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.015 on 427 degrees of freedom
Multiple R-squared:  0.1387,    Adjusted R-squared:  0.1246 
F-statistic: 9.824 on 7 and 427 DF,  p-value: 2.248e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.104101 
Standard error............: 0.052426 
Odds ratio (effect size)..: 1.11 
Lower 95% CI..............: 1.001 
Upper 95% CI..............: 1.23 
T-value...................: 1.98567 
P-value...................: 0.04770914 
R^2.......................: 0.138713 
Adjusted r^2..............: 0.124593 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4434              0.1125             -0.3759             -0.9650             -1.0886             -0.7260  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9691 -0.7144 -0.1857  0.5576  2.9038 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.822755   0.495239   1.661 0.097506 .  
currentDF[, TRAIT]  0.104841   0.057702   1.817 0.070045 .  
Age                -0.006156   0.006024  -1.022 0.307478    
Gendermale          0.101148   0.113553   0.891 0.373647    
ORdate_year2003    -0.420957   0.275237  -1.529 0.127022    
ORdate_year2004    -1.000416   0.271164  -3.689 0.000259 ***
ORdate_year2005    -1.112617   0.273565  -4.067 5.84e-05 ***
ORdate_year2006    -0.747691   0.346013  -2.161 0.031355 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.014 on 365 degrees of freedom
Multiple R-squared:  0.1245,    Adjusted R-squared:  0.1077 
F-statistic: 7.413 on 7 and 365 DF,  p-value: 2.431e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.104841 
Standard error............: 0.057702 
Odds ratio (effect size)..: 1.111 
Lower 95% CI..............: 0.992 
Upper 95% CI..............: 1.244 
T-value...................: 1.816946 
P-value...................: 0.07004537 
R^2.......................: 0.124474 
Adjusted r^2..............: 0.107683 
Sample size of AE DB......: 2423 
Sample size of model......: 373 
Missing data %............: 84.60586 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.33884             0.07679            -0.27063            -0.83679            -1.00167            -0.62190  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8829 -0.6907 -0.1327  0.5772  2.9704 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.557344   0.417386   1.335   0.1825    
currentDF[, TRAIT]  0.076617   0.054541   1.405   0.1608    
Age                -0.004432   0.005652  -0.784   0.4334    
Gendermale          0.125069   0.105499   1.185   0.2365    
ORdate_year2003    -0.282512   0.176096  -1.604   0.1094    
ORdate_year2004    -0.843751   0.177089  -4.765  2.6e-06 ***
ORdate_year2005    -0.999101   0.176965  -5.646  3.0e-08 ***
ORdate_year2006    -0.623792   0.278395  -2.241   0.0256 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.018 on 427 degrees of freedom
Multiple R-squared:  0.1348,    Adjusted R-squared:  0.1206 
F-statistic: 9.501 on 7 and 427 DF,  p-value: 5.575e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.076617 
Standard error............: 0.054541 
Odds ratio (effect size)..: 1.08 
Lower 95% CI..............: 0.97 
Upper 95% CI..............: 1.201 
T-value...................: 1.404764 
P-value...................: 0.1608186 
R^2.......................: 0.134758 
Adjusted r^2..............: 0.120574 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.3931          -0.2293          -0.9469          -1.0683          -0.6826  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0370 -0.7362 -0.1633  0.5877  2.8937 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.741190   0.452364   1.638   0.1021    
currentDF[, TRAIT]  0.039660   0.057027   0.695   0.4872    
Age                -0.006967   0.006140  -1.135   0.2573    
Gendermale          0.143839   0.114317   1.258   0.2091    
ORdate_year2003    -0.230319   0.191192  -1.205   0.2291    
ORdate_year2004    -0.925684   0.181146  -5.110 5.09e-07 ***
ORdate_year2005    -1.021738   0.185452  -5.509 6.62e-08 ***
ORdate_year2006    -0.627823   0.290879  -2.158   0.0315 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.043 on 383 degrees of freedom
Multiple R-squared:  0.1429,    Adjusted R-squared:  0.1272 
F-statistic: 9.122 on 7 and 383 DF,  p-value: 1.954e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.03966 
Standard error............: 0.057027 
Odds ratio (effect size)..: 1.04 
Lower 95% CI..............: 0.93 
Upper 95% CI..............: 1.164 
T-value...................: 0.695461 
P-value...................: 0.4871882 
R^2.......................: 0.1429 
Adjusted r^2..............: 0.127235 
Sample size of AE DB......: 2423 
Sample size of model......: 391 
Missing data %............: 83.86298 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.3639              0.1589             -0.2589             -0.8567             -1.0585             -0.7001  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8537 -0.7062 -0.1363  0.5453  3.0342 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.511244   0.413761   1.236  0.21729    
currentDF[, TRAIT]  0.153174   0.049160   3.116  0.00196 ** 
Age                -0.003048   0.005653  -0.539  0.59007    
Gendermale          0.091928   0.105333   0.873  0.38330    
ORdate_year2003    -0.269185   0.174827  -1.540  0.12437    
ORdate_year2004    -0.863862   0.167247  -5.165 3.70e-07 ***
ORdate_year2005    -1.056853   0.169998  -6.217 1.21e-09 ***
ORdate_year2006    -0.701422   0.273066  -2.569  0.01055 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.01 on 426 degrees of freedom
Multiple R-squared:  0.1503,    Adjusted R-squared:  0.1363 
F-statistic: 10.76 on 7 and 426 DF,  p-value: 1.645e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.153174 
Standard error............: 0.04916 
Odds ratio (effect size)..: 1.166 
Lower 95% CI..............: 1.058 
Upper 95% CI..............: 1.283 
T-value...................: 3.115799 
P-value...................: 0.001958534 
R^2.......................: 0.150269 
Adjusted r^2..............: 0.136306 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.36505             0.07498            -0.29002            -0.87633            -1.02730            -0.61650  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8946 -0.6947 -0.1261  0.5791  2.9167 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.533038   0.419728   1.270   0.2048    
currentDF[, TRAIT]  0.071425   0.050306   1.420   0.1564    
Age                -0.003655   0.005694  -0.642   0.5213    
Gendermale          0.123489   0.105481   1.171   0.2424    
ORdate_year2003    -0.299992   0.175590  -1.708   0.0883 .  
ORdate_year2004    -0.884945   0.169749  -5.213 2.90e-07 ***
ORdate_year2005    -1.026950   0.173027  -5.935 6.08e-09 ***
ORdate_year2006    -0.623714   0.278322  -2.241   0.0255 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.017 on 427 degrees of freedom
Multiple R-squared:  0.1348,    Adjusted R-squared:  0.1207 
F-statistic: 9.508 on 7 and 427 DF,  p-value: 5.467e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.071425 
Standard error............: 0.050306 
Odds ratio (effect size)..: 1.074 
Lower 95% CI..............: 0.973 
Upper 95% CI..............: 1.185 
T-value...................: 1.419807 
P-value...................: 0.1563935 
R^2.......................: 0.134844 
Adjusted r^2..............: 0.120661 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.5513              0.1602             -0.4503             -1.0052             -1.4770             -0.9309  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8412 -0.6755 -0.2304  0.5087  3.1906 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.587732   0.439848   1.336  0.18232    
currentDF[, TRAIT]  0.156148   0.057632   2.709  0.00706 ** 
Age                -0.002266   0.005865  -0.386  0.69946    
Gendermale          0.151114   0.112151   1.347  0.17869    
ORdate_year2003    -0.437098   0.200672  -2.178  0.03004 *  
ORdate_year2004    -1.000781   0.186700  -5.360 1.49e-07 ***
ORdate_year2005    -1.456274   0.210706  -6.911 2.19e-11 ***
ORdate_year2006    -0.926595   0.300195  -3.087  0.00218 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9735 on 360 degrees of freedom
Multiple R-squared:  0.1746,    Adjusted R-squared:  0.1586 
F-statistic: 10.88 on 7 and 360 DF,  p-value: 1.813e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.156148 
Standard error............: 0.057632 
Odds ratio (effect size)..: 1.169 
Lower 95% CI..............: 1.044 
Upper 95% CI..............: 1.309 
T-value...................: 2.709377 
P-value...................: 0.007063241 
R^2.......................: 0.174621 
Adjusted r^2..............: 0.158572 
Sample size of AE DB......: 2423 
Sample size of model......: 368 
Missing data %............: 84.81222 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
    (Intercept)  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.4249          -0.3192          -0.9353          -1.1060          -0.5643  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9623 -0.7267 -0.1376  0.5864  2.9536 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.656362   0.422190   1.555   0.1208    
currentDF[, TRAIT]  0.036041   0.052078   0.692   0.4893    
Age                -0.004886   0.005761  -0.848   0.3968    
Gendermale          0.119587   0.108656   1.101   0.2717    
ORdate_year2003    -0.320732   0.177135  -1.811   0.0709 .  
ORdate_year2004    -0.910521   0.173560  -5.246 2.48e-07 ***
ORdate_year2005    -1.077192   0.174980  -6.156 1.75e-09 ***
ORdate_year2006    -0.536254   0.291278  -1.841   0.0663 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.029 on 417 degrees of freedom
Multiple R-squared:  0.1366,    Adjusted R-squared:  0.1221 
F-statistic: 9.423 on 7 and 417 DF,  p-value: 7.229e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.036041 
Standard error............: 0.052078 
Odds ratio (effect size)..: 1.037 
Lower 95% CI..............: 0.936 
Upper 95% CI..............: 1.148 
T-value...................: 0.692049 
P-value...................: 0.4892915 
R^2.......................: 0.136579 
Adjusted r^2..............: 0.122086 
Sample size of AE DB......: 2423 
Sample size of model......: 425 
Missing data %............: 82.45976 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.2534              0.1092              0.2000             -0.3162             -0.9078             -1.1055             -0.8481  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0064 -0.6931 -0.1507  0.5357  3.1382 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.475161   0.417983   1.137   0.2563    
currentDF[, TRAIT]  0.106666   0.052051   2.049   0.0411 *  
Age                -0.003269   0.005699  -0.574   0.5665    
Gendermale          0.199617   0.107521   1.857   0.0641 .  
ORdate_year2003    -0.322593   0.171398  -1.882   0.0605 .  
ORdate_year2004    -0.908166   0.165290  -5.494 6.79e-08 ***
ORdate_year2005    -1.102677   0.169229  -6.516 2.06e-10 ***
ORdate_year2006    -0.837004   0.531779  -1.574   0.1162    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.023 on 422 degrees of freedom
Multiple R-squared:  0.1542,    Adjusted R-squared:  0.1401 
F-statistic: 10.99 on 7 and 422 DF,  p-value: 8.983e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.106666 
Standard error............: 0.052051 
Odds ratio (effect size)..: 1.113 
Lower 95% CI..............: 1.005 
Upper 95% CI..............: 1.232 
T-value...................: 2.049243 
P-value...................: 0.04105619 
R^2.......................: 0.154167 
Adjusted r^2..............: 0.140136 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4005              0.1541             -0.3038             -0.9148             -1.1389             -0.6780  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0611 -0.7314 -0.1614  0.5774  2.9909 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.599550   0.413214   1.451  0.14754    
currentDF[, TRAIT]  0.143826   0.051470   2.794  0.00544 ** 
Age                -0.004160   0.005654  -0.736  0.46226    
Gendermale          0.122007   0.108020   1.129  0.25933    
ORdate_year2003    -0.310900   0.170703  -1.821  0.06927 .  
ORdate_year2004    -0.919844   0.163996  -5.609 3.69e-08 ***
ORdate_year2005    -1.133524   0.168093  -6.743 5.11e-11 ***
ORdate_year2006    -0.710539   0.531340  -1.337  0.18186    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.018 on 422 degrees of freedom
Multiple R-squared:  0.1613,    Adjusted R-squared:  0.1474 
F-statistic: 11.59 on 7 and 422 DF,  p-value: 1.691e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.143826 
Standard error............: 0.05147 
Odds ratio (effect size)..: 1.155 
Lower 95% CI..............: 1.044 
Upper 95% CI..............: 1.277 
T-value...................: 2.794391 
P-value...................: 0.005436768 
R^2.......................: 0.161269 
Adjusted r^2..............: 0.147357 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.28157             0.08543             0.15683            -0.30727            -0.91114            -1.10824            -0.78312  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9882 -0.7217 -0.1499  0.5582  2.9809 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.592380   0.415557   1.426   0.1547    
currentDF[, TRAIT]  0.086866   0.050255   1.729   0.0846 .  
Age                -0.004603   0.005690  -0.809   0.4189    
Gendermale          0.156869   0.107460   1.460   0.1451    
ORdate_year2003    -0.316330   0.171650  -1.843   0.0660 .  
ORdate_year2004    -0.910102   0.165712  -5.492 6.88e-08 ***
ORdate_year2005    -1.102938   0.169634  -6.502 2.24e-10 ***
ORdate_year2006    -0.766522   0.533909  -1.436   0.1518    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.024 on 422 degrees of freedom
Multiple R-squared:  0.1518,    Adjusted R-squared:  0.1377 
F-statistic: 10.79 on 7 and 422 DF,  p-value: 1.577e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.086866 
Standard error............: 0.050255 
Odds ratio (effect size)..: 1.091 
Lower 95% CI..............: 0.988 
Upper 95% CI..............: 1.204 
T-value...................: 1.728501 
P-value...................: 0.0846298 
R^2.......................: 0.151755 
Adjusted r^2..............: 0.137685 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

Analysis of MCP1_pg_ml_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.01916            -0.10092             0.19380            -0.34796            -0.84807            -0.49894             1.34500  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8944 -0.5425 -0.1061  0.5233  2.6690 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.316819   0.394761  -0.803  0.42280    
currentDF[, TRAIT] -0.097552   0.049498  -1.971  0.04957 *  
Age                 0.004395   0.005456   0.806  0.42102    
Gendermale          0.191557   0.101755   1.883  0.06063 .  
ORdate_year2003    -0.337074   0.149658  -2.252  0.02495 *  
ORdate_year2004    -0.846591   0.143102  -5.916 8.19e-09 ***
ORdate_year2005    -0.506798   0.170505  -2.972  0.00317 ** 
ORdate_year2006     1.313991   0.881081   1.491  0.13682    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8617 on 333 degrees of freedom
Multiple R-squared:  0.1366,    Adjusted R-squared:  0.1185 
F-statistic: 7.529 on 7 and 333 DF,  p-value: 1.992e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.097552 
Standard error............: 0.049498 
Odds ratio (effect size)..: 0.907 
Lower 95% CI..............: 0.823 
Upper 95% CI..............: 0.999 
T-value...................: -1.970818 
P-value...................: 0.04957258 
R^2.......................: 0.136642 
Adjusted r^2..............: 0.118493 
Sample size of AE DB......: 2423 
Sample size of model......: 341 
Missing data %............: 85.92654 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
           0.01613            -0.13592             0.17675            -0.34599            -0.89623            -0.43581  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8079 -0.5423 -0.1172  0.5377  2.5734 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.392461   0.402691  -0.975   0.3305    
currentDF[, TRAIT] -0.129645   0.050342  -2.575   0.0105 *  
Age                 0.006001   0.005528   1.085   0.2786    
Gendermale          0.172421   0.105035   1.642   0.1017    
ORdate_year2003    -0.328210   0.149896  -2.190   0.0293 *  
ORdate_year2004    -0.891522   0.143187  -6.226 1.56e-09 ***
ORdate_year2005    -0.443816   0.187019  -2.373   0.0183 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8396 on 309 degrees of freedom
Multiple R-squared:  0.1553,    Adjusted R-squared:  0.1389 
F-statistic: 9.468 on 6 and 309 DF,  p-value: 1.491e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.129645 
Standard error............: 0.050342 
Odds ratio (effect size)..: 0.878 
Lower 95% CI..............: 0.796 
Upper 95% CI..............: 0.97 
T-value...................: -2.575261 
P-value...................: 0.01048127 
R^2.......................: 0.1553 
Adjusted r^2..............: 0.138898 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
          0.006071           -0.101897            0.238759           -0.400063           -0.892123           -0.538381  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.85348 -0.56530 -0.07814  0.50975  2.53264 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.386432   0.386250  -1.000  0.31781    
currentDF[, TRAIT] -0.098261   0.048835  -2.012  0.04502 *  
Age                 0.005850   0.005374   1.089  0.27716    
Gendermale          0.233265   0.100647   2.318  0.02108 *  
ORdate_year2003    -0.385982   0.148021  -2.608  0.00953 ** 
ORdate_year2004    -0.892139   0.142065  -6.280 1.06e-09 ***
ORdate_year2005    -0.553573   0.174760  -3.168  0.00168 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8483 on 331 degrees of freedom
Multiple R-squared:  0.1369,    Adjusted R-squared:  0.1213 
F-statistic: 8.754 on 6 and 331 DF,  p-value: 7.324e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.098261 
Standard error............: 0.048835 
Odds ratio (effect size)..: 0.906 
Lower 95% CI..............: 0.824 
Upper 95% CI..............: 0.997 
T-value...................: -2.012114 
P-value...................: 0.04501779 
R^2.......................: 0.136945 
Adjusted r^2..............: 0.1213 
Sample size of AE DB......: 2423 
Sample size of model......: 338 
Missing data %............: 86.05035 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
       -0.07805          0.30482         -0.33653         -0.83468         -0.80098          0.24667  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.88112 -0.58819 -0.06939  0.55371  2.81174 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.576443   0.407076  -1.416  0.15766    
currentDF[, TRAIT]  0.050379   0.051367   0.981  0.32740    
Age                 0.007087   0.005649   1.254  0.21053    
Gendermale          0.310943   0.104441   2.977  0.00312 ** 
ORdate_year2003    -0.298100   0.154822  -1.925  0.05500 .  
ORdate_year2004    -0.809866   0.147740  -5.482 8.16e-08 ***
ORdate_year2005    -0.832447   0.170191  -4.891 1.54e-06 ***
ORdate_year2006     0.228490   0.649653   0.352  0.72527    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8959 on 344 degrees of freedom
Multiple R-squared:  0.1387,    Adjusted R-squared:  0.1212 
F-statistic: 7.915 on 7 and 344 DF,  p-value: 6.574e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.050379 
Standard error............: 0.051367 
Odds ratio (effect size)..: 1.052 
Lower 95% CI..............: 0.951 
Upper 95% CI..............: 1.163 
T-value...................: 0.980766 
P-value...................: 0.3273973 
R^2.......................: 0.138718 
Adjusted r^2..............: 0.121192 
Sample size of AE DB......: 2423 
Sample size of model......: 352 
Missing data %............: 85.47255 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.06486             0.26331             0.30842            -0.42673            -0.94757            -1.07264            -0.55165  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.05503 -0.53989 -0.05623  0.47611  2.79718 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.164896   0.387149  -0.426  0.67044    
currentDF[, TRAIT]  0.260941   0.048013   5.435 1.06e-07 ***
Age                 0.003408   0.005361   0.636  0.52547    
Gendermale          0.310039   0.101638   3.050  0.00247 ** 
ORdate_year2003    -0.423624   0.149836  -2.827  0.00498 ** 
ORdate_year2004    -0.949713   0.142607  -6.660 1.13e-10 ***
ORdate_year2005    -1.081420   0.160236  -6.749 6.60e-11 ***
ORdate_year2006    -0.565883   0.442943  -1.278  0.20229    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8491 on 334 degrees of freedom
Multiple R-squared:  0.2179,    Adjusted R-squared:  0.2015 
F-statistic: 13.29 on 7 and 334 DF,  p-value: 3.895e-15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.260941 
Standard error............: 0.048013 
Odds ratio (effect size)..: 1.298 
Lower 95% CI..............: 1.182 
Upper 95% CI..............: 1.426 
T-value...................: 5.434817 
P-value...................: 1.059904e-07 
R^2.......................: 0.217897 
Adjusted r^2..............: 0.201505 
Sample size of AE DB......: 2423 
Sample size of model......: 342 
Missing data %............: 85.88527 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.08609             0.10289             0.33342            -0.29430            -0.89329            -0.78279            -0.25877  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.75582 -0.59818 -0.09229  0.56429  2.84771 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.184564   0.400144  -0.461  0.64489    
currentDF[, TRAIT]  0.104433   0.048564   2.150  0.03216 *  
Age                 0.001455   0.005505   0.264  0.79174    
Gendermale          0.332829   0.101742   3.271  0.00117 ** 
ORdate_year2003    -0.290464   0.168098  -1.728  0.08483 .  
ORdate_year2004    -0.892760   0.153967  -5.798 1.43e-08 ***
ORdate_year2005    -0.783805   0.154636  -5.069 6.32e-07 ***
ORdate_year2006    -0.262771   0.248096  -1.059  0.29022    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9143 on 373 degrees of freedom
Multiple R-squared:  0.1432,    Adjusted R-squared:  0.1271 
F-statistic: 8.903 on 7 and 373 DF,  p-value: 3.764e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.104433 
Standard error............: 0.048564 
Odds ratio (effect size)..: 1.11 
Lower 95% CI..............: 1.009 
Upper 95% CI..............: 1.221 
T-value...................: 2.150429 
P-value...................: 0.03216348 
R^2.......................: 0.143158 
Adjusted r^2..............: 0.127078 
Sample size of AE DB......: 2423 
Sample size of model......: 381 
Missing data %............: 84.27569 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
          -0.12284            -0.08206             0.27422            -0.28904            -0.82571            -0.26386  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7810 -0.5712 -0.0882  0.5519  2.5556 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.598671   0.410659  -1.458   0.1460    
currentDF[, TRAIT] -0.076811   0.053821  -1.427   0.1546    
Age                 0.007053   0.005703   1.237   0.2172    
Gendermale          0.266784   0.108543   2.458   0.0146 *  
ORdate_year2003    -0.268543   0.153226  -1.753   0.0807 .  
ORdate_year2004    -0.823700   0.146979  -5.604 4.81e-08 ***
ORdate_year2005    -0.261847   0.213240  -1.228   0.2204    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8553 on 294 degrees of freedom
Multiple R-squared:  0.1426,    Adjusted R-squared:  0.1251 
F-statistic: 8.146 on 6 and 294 DF,  p-value: 3.69e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.076811 
Standard error............: 0.053821 
Odds ratio (effect size)..: 0.926 
Lower 95% CI..............: 0.833 
Upper 95% CI..............: 1.029 
T-value...................: -1.427144 
P-value...................: 0.1545996 
R^2.......................: 0.142553 
Adjusted r^2..............: 0.125055 
Sample size of AE DB......: 2423 
Sample size of model......: 301 
Missing data %............: 87.57738 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
          -0.10766            -0.08868             0.24796            -0.29420            -0.79349            -0.50888  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7949 -0.5760 -0.1074  0.5575  2.5884 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.612340   0.408817  -1.498  0.13520    
currentDF[, TRAIT] -0.079996   0.051496  -1.553  0.12134    
Age                 0.007447   0.005657   1.317  0.18896    
Gendermale          0.236517   0.105153   2.249  0.02520 *  
ORdate_year2003    -0.267256   0.154929  -1.725  0.08552 .  
ORdate_year2004    -0.786264   0.145225  -5.414 1.24e-07 ***
ORdate_year2005    -0.515959   0.194028  -2.659  0.00824 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8524 on 309 degrees of freedom
Multiple R-squared:  0.1271,    Adjusted R-squared:  0.1102 
F-statistic: 7.499 on 6 and 309 DF,  p-value: 1.624e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.079996 
Standard error............: 0.051496 
Odds ratio (effect size)..: 0.923 
Lower 95% CI..............: 0.834 
Upper 95% CI..............: 1.021 
T-value...................: -1.553427 
P-value...................: 0.1213447 
R^2.......................: 0.127102 
Adjusted r^2..............: 0.110152 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.01507             0.11818             0.25714            -0.40098            -0.90902            -0.85999            -0.28985  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.77521 -0.61731 -0.09504  0.59972  2.78243 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.259398   0.365200  -0.710  0.47791    
currentDF[, TRAIT]  0.122499   0.045038   2.720  0.00680 ** 
Age                 0.004092   0.005017   0.816  0.41522    
Gendermale          0.254539   0.092960   2.738  0.00644 ** 
ORdate_year2003    -0.392793   0.155607  -2.524  0.01196 *  
ORdate_year2004    -0.910806   0.148751  -6.123 2.09e-09 ***
ORdate_year2005    -0.865178   0.151775  -5.700 2.24e-08 ***
ORdate_year2006    -0.302719   0.241490  -1.254  0.21069    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.893 on 426 degrees of freedom
Multiple R-squared:  0.1343,    Adjusted R-squared:   0.12 
F-statistic: 9.438 on 7 and 426 DF,  p-value: 6.664e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.122499 
Standard error............: 0.045038 
Odds ratio (effect size)..: 1.13 
Lower 95% CI..............: 1.035 
Upper 95% CI..............: 1.235 
T-value...................: 2.719915 
P-value...................: 0.006797 
R^2.......................: 0.134268 
Adjusted r^2..............: 0.120043 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.01032             0.10830             0.25129            -0.38921            -0.89992            -0.84548            -0.27257  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.75574 -0.61898 -0.09806  0.59333  2.79926 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.253364   0.364079  -0.696  0.48687    
currentDF[, TRAIT]  0.112270   0.045496   2.468  0.01399 *  
Age                 0.003924   0.004991   0.786  0.43214    
Gendermale          0.249112   0.092909   2.681  0.00762 ** 
ORdate_year2003    -0.381763   0.155120  -2.461  0.01425 *  
ORdate_year2004    -0.901427   0.148592  -6.066 2.88e-09 ***
ORdate_year2005    -0.850012   0.151333  -5.617 3.51e-08 ***
ORdate_year2006    -0.284344   0.241699  -1.176  0.24008    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8933 on 427 degrees of freedom
Multiple R-squared:  0.1317,    Adjusted R-squared:  0.1175 
F-statistic: 9.252 on 7 and 427 DF,  p-value: 1.12e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.11227 
Standard error............: 0.045496 
Odds ratio (effect size)..: 1.119 
Lower 95% CI..............: 1.023 
Upper 95% CI..............: 1.223 
T-value...................: 2.467668 
P-value...................: 0.0139908 
R^2.......................: 0.1317 
Adjusted r^2..............: 0.117465 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
        -0.1420           0.3196          -0.2797          -0.8123          -0.6402          -1.1206  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.75957 -0.58355 -0.08904  0.55190  2.58926 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.563267   0.405022  -1.391  0.16526    
currentDF[, TRAIT] -0.064347   0.055069  -1.168  0.24346    
Age                 0.006990   0.005584   1.252  0.21155    
Gendermale          0.299864   0.105579   2.840  0.00479 ** 
ORdate_year2003    -0.302088   0.152861  -1.976  0.04897 *  
ORdate_year2004    -0.852733   0.146347  -5.827 1.35e-08 ***
ORdate_year2005    -0.730820   0.185054  -3.949 9.60e-05 ***
ORdate_year2006    -1.246259   0.643656  -1.936  0.05370 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8777 on 328 degrees of freedom
Multiple R-squared:  0.1391,    Adjusted R-squared:  0.1207 
F-statistic: 7.572 on 7 and 328 DF,  p-value: 1.809e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.064347 
Standard error............: 0.055069 
Odds ratio (effect size)..: 0.938 
Lower 95% CI..............: 0.842 
Upper 95% CI..............: 1.045 
T-value...................: -1.168479 
P-value...................: 0.2434621 
R^2.......................: 0.139118 
Adjusted r^2..............: 0.120745 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.07174            -0.10265             0.26219            -0.34108            -0.86794            -0.53184            -1.00966  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.78552 -0.55441 -0.07221  0.57054  2.55868 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.431645   0.411186  -1.050  0.29468    
currentDF[, TRAIT] -0.098705   0.053222  -1.855  0.06464 .  
Age                 0.005318   0.005668   0.938  0.34887    
Gendermale          0.256077   0.105016   2.438  0.01533 *  
ORdate_year2003    -0.326014   0.158342  -2.059  0.04037 *  
ORdate_year2004    -0.863726   0.152920  -5.648 3.78e-08 ***
ORdate_year2005    -0.549417   0.194363  -2.827  0.00502 ** 
ORdate_year2006    -1.047044   0.855468  -1.224  0.22194    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8437 on 298 degrees of freedom
Multiple R-squared:  0.1397,    Adjusted R-squared:  0.1195 
F-statistic: 6.914 on 7 and 298 DF,  p-value: 1.241e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.098705 
Standard error............: 0.053222 
Odds ratio (effect size)..: 0.906 
Lower 95% CI..............: 0.816 
Upper 95% CI..............: 1.006 
T-value...................: -1.854583 
P-value...................: 0.06464346 
R^2.......................: 0.139715 
Adjusted r^2..............: 0.119507 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
       -0.03744          0.26848         -0.34531         -0.84789         -0.80713         -0.29478  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.71060 -0.61023 -0.08462  0.56060  2.95198 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.241460   0.369827  -0.653  0.51417    
currentDF[, TRAIT]  0.029300   0.049316   0.594  0.55274    
Age                 0.002759   0.005005   0.551  0.58173    
Gendermale          0.265296   0.093302   2.843  0.00468 ** 
ORdate_year2003    -0.339981   0.155201  -2.191  0.02902 *  
ORdate_year2004    -0.820764   0.154718  -5.305 1.81e-07 ***
ORdate_year2005    -0.781311   0.158526  -4.929 1.19e-06 ***
ORdate_year2006    -0.270832   0.249144  -1.087  0.27763    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8993 on 427 degrees of freedom
Multiple R-squared:   0.12, Adjusted R-squared:  0.1056 
F-statistic: 8.322 on 7 and 427 DF,  p-value: 1.545e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.0293 
Standard error............: 0.049316 
Odds ratio (effect size)..: 1.03 
Lower 95% CI..............: 0.935 
Upper 95% CI..............: 1.134 
T-value...................: 0.594133 
P-value...................: 0.5527379 
R^2.......................: 0.120044 
Adjusted r^2..............: 0.105619 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           -0.1101              0.2124              0.2392             -0.3179             -0.7282             -0.6802             -0.1259  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9692 -0.6070 -0.1097  0.5730  2.9425 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.375217   0.359962  -1.042  0.29783    
currentDF[, TRAIT]  0.214887   0.042867   5.013 7.90e-07 ***
Age                 0.003911   0.004907   0.797  0.42587    
Gendermale          0.236910   0.091297   2.595  0.00979 ** 
ORdate_year2003    -0.307567   0.151123  -2.035  0.04245 *  
ORdate_year2004    -0.726382   0.145288  -5.000 8.43e-07 ***
ORdate_year2005    -0.682628   0.148753  -4.589 5.88e-06 ***
ORdate_year2006    -0.136424   0.237811  -0.574  0.56650    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8707 on 423 degrees of freedom
Multiple R-squared:  0.1681,    Adjusted R-squared:  0.1544 
F-statistic: 12.21 on 7 and 423 DF,  p-value: 3.039e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.214887 
Standard error............: 0.042867 
Odds ratio (effect size)..: 1.24 
Lower 95% CI..............: 1.14 
Upper 95% CI..............: 1.348 
T-value...................: 5.012879 
P-value...................: 7.899727e-07 
R^2.......................: 0.168122 
Adjusted r^2..............: 0.154356 
Sample size of AE DB......: 2423 
Sample size of model......: 431 
Missing data %............: 82.21213 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.05552             0.12811             0.30292            -0.32223            -0.92106            -0.80221            -0.23918  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7495 -0.6173 -0.1058  0.5453  2.7985 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.1163509  0.3884834  -0.300  0.76472    
currentDF[, TRAIT]  0.1288922  0.0474035   2.719  0.00684 ** 
Age                 0.0009019  0.0053509   0.169  0.86624    
Gendermale          0.3023529  0.0993658   3.043  0.00250 ** 
ORdate_year2003    -0.3197343  0.1622527  -1.971  0.04948 *  
ORdate_year2004    -0.9209180  0.1519043  -6.062 3.19e-09 ***
ORdate_year2005    -0.8029970  0.1528058  -5.255 2.45e-07 ***
ORdate_year2006    -0.2416727  0.2454586  -0.985  0.32545    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9039 on 386 degrees of freedom
Multiple R-squared:  0.1472,    Adjusted R-squared:  0.1317 
F-statistic: 9.517 on 7 and 386 DF,  p-value: 6.452e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.128892 
Standard error............: 0.047403 
Odds ratio (effect size)..: 1.138 
Lower 95% CI..............: 1.037 
Upper 95% CI..............: 1.248 
T-value...................: 2.719043 
P-value...................: 0.006842628 
R^2.......................: 0.147181 
Adjusted r^2..............: 0.131716 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
       -0.04069          0.27341         -0.36047         -0.83747         -0.80717         -0.29542  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7089 -0.5897 -0.1111  0.5782  2.9643 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.314649   0.378256  -0.832  0.40597    
currentDF[, TRAIT]  0.047091   0.049021   0.961  0.33729    
Age                 0.003393   0.005058   0.671  0.50267    
Gendermale          0.266281   0.094291   2.824  0.00497 ** 
ORdate_year2003    -0.317473   0.160747  -1.975  0.04893 *  
ORdate_year2004    -0.771425   0.162814  -4.738 2.96e-06 ***
ORdate_year2005    -0.750379   0.162948  -4.605 5.48e-06 ***
ORdate_year2006    -0.246746   0.249674  -0.988  0.32359    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8964 on 419 degrees of freedom
Multiple R-squared:  0.1198,    Adjusted R-squared:  0.1051 
F-statistic:  8.15 on 7 and 419 DF,  p-value: 2.578e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.047091 
Standard error............: 0.049021 
Odds ratio (effect size)..: 1.048 
Lower 95% CI..............: 0.952 
Upper 95% CI..............: 1.154 
T-value...................: 0.960638 
P-value...................: 0.3372884 
R^2.......................: 0.119834 
Adjusted r^2..............: 0.10513 
Sample size of AE DB......: 2423 
Sample size of model......: 427 
Missing data %............: 82.37722 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
        -0.0006877           0.0730112           0.2651666          -0.3257853          -0.8934078          -0.8499897          -0.3325036  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7736 -0.5906 -0.1025  0.6068  2.8726 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.204862   0.373265  -0.549  0.58341    
currentDF[, TRAIT]  0.077243   0.047243   1.635  0.10281    
Age                 0.003055   0.005152   0.593  0.55357    
Gendermale          0.263306   0.094631   2.782  0.00564 ** 
ORdate_year2003    -0.319036   0.156570  -2.038  0.04222 *  
ORdate_year2004    -0.896032   0.152380  -5.880 8.42e-09 ***
ORdate_year2005    -0.855854   0.155261  -5.512 6.22e-08 ***
ORdate_year2006    -0.344425   0.244836  -1.407  0.16025    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9 on 416 degrees of freedom
Multiple R-squared:  0.126, Adjusted R-squared:  0.1113 
F-statistic: 8.567 on 7 and 416 DF,  p-value: 8.03e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.077243 
Standard error............: 0.047243 
Odds ratio (effect size)..: 1.08 
Lower 95% CI..............: 0.985 
Upper 95% CI..............: 1.185 
T-value...................: 1.634993 
P-value...................: 0.102807 
R^2.......................: 0.125995 
Adjusted r^2..............: 0.111288 
Sample size of AE DB......: 2423 
Sample size of model......: 424 
Missing data %............: 82.50103 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           -0.0537              0.1290              0.3032             -0.3851             -0.9122             -0.8016             -0.3111  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.68383 -0.58012 -0.09862  0.59013  2.82591 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.274118   0.388399  -0.706  0.48077    
currentDF[, TRAIT]  0.131912   0.046266   2.851  0.00459 ** 
Age                 0.003274   0.005369   0.610  0.54234    
Gendermale          0.300555   0.097916   3.070  0.00230 ** 
ORdate_year2003    -0.375965   0.161127  -2.333  0.02015 *  
ORdate_year2004    -0.911893   0.150094  -6.075 3.00e-09 ***
ORdate_year2005    -0.804256   0.152203  -5.284 2.13e-07 ***
ORdate_year2006    -0.319166   0.253232  -1.260  0.20831    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8956 on 380 degrees of freedom
Multiple R-squared:  0.1449,    Adjusted R-squared:  0.1291 
F-statistic: 9.196 on 7 and 380 DF,  p-value: 1.616e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.131912 
Standard error............: 0.046266 
Odds ratio (effect size)..: 1.141 
Lower 95% CI..............: 1.042 
Upper 95% CI..............: 1.249 
T-value...................: 2.85119 
P-value...................: 0.004593293 
R^2.......................: 0.14486 
Adjusted r^2..............: 0.129107 
Sample size of AE DB......: 2423 
Sample size of model......: 388 
Missing data %............: 83.98679 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          0.003403            0.094076            0.247654           -0.354907           -0.896856           -0.840188           -0.284120  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7987 -0.6057 -0.1067  0.5916  2.8425 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.233799   0.364539  -0.641  0.52164    
currentDF[, TRAIT]  0.097099   0.046223   2.101  0.03626 *  
Age                 0.003526   0.004991   0.707  0.48025    
Gendermale          0.245595   0.093373   2.630  0.00884 ** 
ORdate_year2003    -0.347073   0.154510  -2.246  0.02520 *  
ORdate_year2004    -0.898065   0.149214  -6.019 3.79e-09 ***
ORdate_year2005    -0.844062   0.151630  -5.567 4.60e-08 ***
ORdate_year2006    -0.295086   0.242079  -1.219  0.22353    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8951 on 427 degrees of freedom
Multiple R-squared:  0.1283,    Adjusted R-squared:  0.114 
F-statistic:  8.98 on 7 and 427 DF,  p-value: 2.409e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.097099 
Standard error............: 0.046223 
Odds ratio (effect size)..: 1.102 
Lower 95% CI..............: 1.007 
Upper 95% CI..............: 1.206 
T-value...................: 2.100645 
P-value...................: 0.03625793 
R^2.......................: 0.128325 
Adjusted r^2..............: 0.114035 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.05113             0.09222             0.24662            -0.47232            -0.92002            -0.85499            -0.36053  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7554 -0.6037 -0.1083  0.5913  2.7577 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.084478   0.437929  -0.193 0.847141    
currentDF[, TRAIT]  0.094493   0.051024   1.852 0.064845 .  
Age                 0.001939   0.005327   0.364 0.716059    
Gendermale          0.245455   0.100412   2.444 0.014979 *  
ORdate_year2003    -0.462800   0.243385  -1.902 0.058023 .  
ORdate_year2004    -0.914706   0.239784  -3.815 0.000160 ***
ORdate_year2005    -0.851530   0.241907  -3.520 0.000486 ***
ORdate_year2006    -0.361846   0.305971  -1.183 0.237731    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8968 on 365 degrees of freedom
Multiple R-squared:  0.1078,    Adjusted R-squared:  0.09069 
F-statistic:   6.3 on 7 and 365 DF,  p-value: 5.402e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.094493 
Standard error............: 0.051024 
Odds ratio (effect size)..: 1.099 
Lower 95% CI..............: 0.995 
Upper 95% CI..............: 1.215 
T-value...................: 1.851921 
P-value...................: 0.06484451 
R^2.......................: 0.107796 
Adjusted r^2..............: 0.090686 
Sample size of AE DB......: 2423 
Sample size of model......: 373 
Missing data %............: 84.60586 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.10244             0.08913             0.27152            -0.32431            -0.75357            -0.73455            -0.22474  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.72442 -0.62142 -0.09571  0.54070  2.99752 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.295066   0.367545  -0.803  0.42253    
currentDF[, TRAIT]  0.089963   0.048028   1.873  0.06173 .  
Age                 0.002839   0.004977   0.570  0.56872    
Gendermale          0.270429   0.092901   2.911  0.00379 ** 
ORdate_year2003    -0.317564   0.155068  -2.048  0.04118 *  
ORdate_year2004    -0.752400   0.155942  -4.825 1.95e-06 ***
ORdate_year2005    -0.736133   0.155833  -4.724 3.15e-06 ***
ORdate_year2006    -0.233192   0.245152  -0.951  0.34203    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.896 on 427 degrees of freedom
Multiple R-squared:  0.1265,    Adjusted R-squared:  0.1122 
F-statistic: 8.834 on 7 and 427 DF,  p-value: 3.642e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.089963 
Standard error............: 0.048028 
Odds ratio (effect size)..: 1.094 
Lower 95% CI..............: 0.996 
Upper 95% CI..............: 1.202 
T-value...................: 1.873132 
P-value...................: 0.06173309 
R^2.......................: 0.126494 
Adjusted r^2..............: 0.112175 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
       -0.07567          0.32640         -0.29952         -0.88072         -0.80133         -0.30228  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7288 -0.5956 -0.0938  0.5927  2.9163 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.1336342  0.3942673  -0.339  0.73484    
currentDF[, TRAIT]  0.0432840  0.0497035   0.871  0.38438    
Age                 0.0003512  0.0053519   0.066  0.94772    
Gendermale          0.3284606  0.0996351   3.297  0.00107 ** 
ORdate_year2003    -0.2771732  0.1666377  -1.663  0.09706 .  
ORdate_year2004    -0.8449639  0.1578813  -5.352 1.50e-07 ***
ORdate_year2005    -0.7570794  0.1616350  -4.684 3.92e-06 ***
ORdate_year2006    -0.2483746  0.2535222  -0.980  0.32785    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9091 on 383 degrees of freedom
Multiple R-squared:  0.1365,    Adjusted R-squared:  0.1207 
F-statistic: 8.646 on 7 and 383 DF,  p-value: 7.344e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.043284 
Standard error............: 0.049703 
Odds ratio (effect size)..: 1.044 
Lower 95% CI..............: 0.947 
Upper 95% CI..............: 1.151 
T-value...................: 0.870844 
P-value...................: 0.3843847 
R^2.......................: 0.136452 
Adjusted r^2..............: 0.12067 
Sample size of AE DB......: 2423 
Sample size of model......: 391 
Missing data %............: 83.86298 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.04623             0.12503             0.24702            -0.32636            -0.79840            -0.80246            -0.30577  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6172 -0.6066 -0.1085  0.5794  2.7997 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.297532   0.365469  -0.814  0.41604    
currentDF[, TRAIT]  0.127740   0.043423   2.942  0.00344 ** 
Age                 0.003717   0.004993   0.745  0.45696    
Gendermale          0.244585   0.093039   2.629  0.00888 ** 
ORdate_year2003    -0.316687   0.154422  -2.051  0.04090 *  
ORdate_year2004    -0.796915   0.147727  -5.394 1.14e-07 ***
ORdate_year2005    -0.805321   0.150157  -5.363 1.34e-07 ***
ORdate_year2006    -0.317866   0.241195  -1.318  0.18825    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8917 on 426 degrees of freedom
Multiple R-squared:  0.1368,    Adjusted R-squared:  0.1226 
F-statistic: 9.642 on 7 and 426 DF,  p-value: 3.762e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.12774 
Standard error............: 0.043423 
Odds ratio (effect size)..: 1.136 
Lower 95% CI..............: 1.044 
Upper 95% CI..............: 1.237 
T-value...................: 2.941773 
P-value...................: 0.003441462 
R^2.......................: 0.13677 
Adjusted r^2..............: 0.122586 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.07944             0.10864             0.27052            -0.34718            -0.78735            -0.75364            -0.19930  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7363 -0.5914 -0.0803  0.5445  2.9173 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.363338   0.368312  -0.986  0.32445    
currentDF[, TRAIT]  0.113280   0.044144   2.566  0.01062 *  
Age                 0.004171   0.004997   0.835  0.40438    
Gendermale          0.268962   0.092560   2.906  0.00385 ** 
ORdate_year2003    -0.337625   0.154081  -2.191  0.02898 *  
ORdate_year2004    -0.784337   0.148955  -5.266 2.22e-07 ***
ORdate_year2005    -0.754685   0.151831  -4.971 9.68e-07 ***
ORdate_year2006    -0.208592   0.244228  -0.854  0.39354    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8928 on 427 degrees of freedom
Multiple R-squared:  0.1327,    Adjusted R-squared:  0.1185 
F-statistic: 9.333 on 7 and 427 DF,  p-value: 8.936e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.11328 
Standard error............: 0.044144 
Odds ratio (effect size)..: 1.12 
Lower 95% CI..............: 1.027 
Upper 95% CI..............: 1.221 
T-value...................: 2.56617 
P-value...................: 0.01062295 
R^2.......................: 0.132693 
Adjusted r^2..............: 0.118474 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.2285              0.2356              0.2565             -0.5968             -0.9910             -1.3456             -0.6431  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6960 -0.5357 -0.1356  0.4521  3.0045 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.018436   0.381013  -0.048 0.961436    
currentDF[, TRAIT]  0.234189   0.049923   4.691 3.87e-06 ***
Age                 0.003656   0.005080   0.720 0.472226    
Gendermale          0.257540   0.097150   2.651 0.008381 ** 
ORdate_year2003    -0.590396   0.173829  -3.396 0.000759 ***
ORdate_year2004    -0.993182   0.161727  -6.141 2.17e-09 ***
ORdate_year2005    -1.351845   0.182521  -7.407 9.29e-13 ***
ORdate_year2006    -0.659320   0.260041  -2.535 0.011653 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8432 on 360 degrees of freedom
Multiple R-squared:  0.1932,    Adjusted R-squared:  0.1775 
F-statistic: 12.32 on 7 and 360 DF,  p-value: 3.85e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.234189 
Standard error............: 0.049923 
Odds ratio (effect size)..: 1.264 
Lower 95% CI..............: 1.146 
Upper 95% CI..............: 1.394 
T-value...................: 4.690963 
P-value...................: 3.867726e-06 
R^2.......................: 0.193197 
Adjusted r^2..............: 0.177509 
Sample size of AE DB......: 2423 
Sample size of model......: 368 
Missing data %............: 84.81222 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
        0.01827          0.25057         -0.36599         -0.87411         -0.85523         -0.27745  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7221 -0.6233 -0.1101  0.5899  2.9391 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.108495   0.371195  -0.292  0.77021    
currentDF[, TRAIT]  0.014792   0.045788   0.323  0.74682    
Age                 0.001772   0.005065   0.350  0.72656    
Gendermale          0.251277   0.095532   2.630  0.00885 ** 
ORdate_year2003    -0.359726   0.155739  -2.310  0.02139 *  
ORdate_year2004    -0.863320   0.152596  -5.658 2.86e-08 ***
ORdate_year2005    -0.848229   0.153845  -5.514 6.18e-08 ***
ORdate_year2006    -0.277015   0.256095  -1.082  0.28002    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9047 on 417 degrees of freedom
Multiple R-squared:  0.1264,    Adjusted R-squared:  0.1117 
F-statistic: 8.619 on 7 and 417 DF,  p-value: 6.915e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.014792 
Standard error............: 0.045788 
Odds ratio (effect size)..: 1.015 
Lower 95% CI..............: 0.928 
Upper 95% CI..............: 1.11 
T-value...................: 0.32305 
P-value...................: 0.7468193 
R^2.......................: 0.126396 
Adjusted r^2..............: 0.111731 
Sample size of AE DB......: 2423 
Sample size of model......: 425 
Missing data %............: 82.45976 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
       -0.06081          0.32224         -0.35983         -0.86215         -0.87074         -0.48698  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7657 -0.6102 -0.1075  0.5792  3.0597 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.201488   0.369566  -0.545  0.58590    
currentDF[, TRAIT]  0.022531   0.046022   0.490  0.62469    
Age                 0.001966   0.005038   0.390  0.69660    
Gendermale          0.327413   0.095066   3.444  0.00063 ***
ORdate_year2003    -0.356895   0.151544  -2.355  0.01898 *  
ORdate_year2004    -0.855431   0.146143  -5.853 9.69e-09 ***
ORdate_year2005    -0.867330   0.149627  -5.797 1.33e-08 ***
ORdate_year2006    -0.493806   0.470181  -1.050  0.29421    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9043 on 422 degrees of freedom
Multiple R-squared:  0.1328,    Adjusted R-squared:  0.1184 
F-statistic: 9.231 on 7 and 422 DF,  p-value: 1.215e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.022531 
Standard error............: 0.046022 
Odds ratio (effect size)..: 1.023 
Lower 95% CI..............: 0.935 
Upper 95% CI..............: 1.119 
T-value...................: 0.489571 
P-value...................: 0.6246919 
R^2.......................: 0.132784 
Adjusted r^2..............: 0.118398 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.02663             0.18271             0.25553            -0.34853            -0.83535            -0.87806            -0.33133  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9768 -0.5620 -0.1048  0.4903  3.0030 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.153520   0.359976  -0.426  0.66998    
currentDF[, TRAIT]  0.182809   0.044838   4.077 5.45e-05 ***
Age                 0.001879   0.004926   0.381  0.70311    
Gendermale          0.255359   0.094103   2.714  0.00693 ** 
ORdate_year2003    -0.344792   0.148710  -2.319  0.02090 *  
ORdate_year2004    -0.835546   0.142867  -5.848 9.96e-09 ***
ORdate_year2005    -0.880063   0.146436  -6.010 4.02e-09 ***
ORdate_year2006    -0.337578   0.462883  -0.729  0.46623    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8872 on 422 degrees of freedom
Multiple R-squared:  0.1652,    Adjusted R-squared:  0.1513 
F-statistic: 11.93 on 7 and 422 DF,  p-value: 6.694e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.182809 
Standard error............: 0.044838 
Odds ratio (effect size)..: 1.201 
Lower 95% CI..............: 1.1 
Upper 95% CI..............: 1.311 
T-value...................: 4.077065 
P-value...................: 5.451683e-05 
R^2.......................: 0.165175 
Adjusted r^2..............: 0.151327 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.07336             0.10703             0.30046            -0.35447            -0.82421            -0.84074            -0.40683  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8791 -0.5835 -0.1225  0.5501  2.9562 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.163216   0.364485  -0.448  0.65453    
currentDF[, TRAIT]  0.106611   0.044079   2.419  0.01600 *  
Age                 0.001331   0.004991   0.267  0.78984    
Gendermale          0.300443   0.094253   3.188  0.00154 ** 
ORdate_year2003    -0.351854   0.150554  -2.337  0.01990 *  
ORdate_year2004    -0.824512   0.145346  -5.673 2.61e-08 ***
ORdate_year2005    -0.842269   0.148786  -5.661 2.79e-08 ***
ORdate_year2006    -0.411631   0.468292  -0.879  0.37990    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8983 on 422 degrees of freedom
Multiple R-squared:  0.1442,    Adjusted R-squared:   0.13 
F-statistic: 10.15 on 7 and 422 DF,  p-value: 9.144e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.106611 
Standard error............: 0.044079 
Odds ratio (effect size)..: 1.113 
Lower 95% CI..............: 1.02 
Upper 95% CI..............: 1.213 
T-value...................: 2.418635 
P-value...................: 0.01600115 
R^2.......................: 0.144155 
Adjusted r^2..............: 0.129958 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

Analysis of MCP1_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.23773            -0.07545             0.21479            -0.19791            -0.58597            -0.39400             0.68202  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4273 -0.6679 -0.0129  0.6118  2.8244 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.640133   0.394316   1.623   0.1053    
currentDF[, TRAIT] -0.078116   0.049504  -1.578   0.1154    
Age                -0.006023   0.005498  -1.095   0.2740    
Gendermale          0.220644   0.107073   2.061   0.0400 *  
ORdate_year2003    -0.207358   0.153920  -1.347   0.1787    
ORdate_year2004    -0.586180   0.147309  -3.979 8.21e-05 ***
ORdate_year2005    -0.383846   0.170483  -2.252   0.0249 *  
ORdate_year2006     0.731571   0.978514   0.748   0.4551    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9597 on 400 degrees of freedom
Multiple R-squared:  0.06511,   Adjusted R-squared:  0.04875 
F-statistic:  3.98 on 7 and 400 DF,  p-value: 0.0003201

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.078116 
Standard error............: 0.049504 
Odds ratio (effect size)..: 0.925 
Lower 95% CI..............: 0.839 
Upper 95% CI..............: 1.019 
T-value...................: -1.57798 
P-value...................: 0.1153606 
R^2.......................: 0.065109 
Adjusted r^2..............: 0.048748 
Sample size of AE DB......: 2423 
Sample size of model......: 408 
Missing data %............: 83.16137 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  
         0.1186           0.2997          -0.1273          -0.5327          -0.3911  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4070 -0.6412  0.0020  0.6187  2.8442 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.604430   0.415935   1.453 0.147018    
currentDF[, TRAIT] -0.047147   0.051830  -0.910 0.363597    
Age                -0.006807   0.005802  -1.173 0.241494    
Gendermale          0.297097   0.112746   2.635 0.008764 ** 
ORdate_year2003    -0.170821   0.157936  -1.082 0.280141    
ORdate_year2004    -0.561215   0.150490  -3.729 0.000222 ***
ORdate_year2005    -0.394410   0.188894  -2.088 0.037479 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9648 on 371 degrees of freedom
Multiple R-squared:  0.06876,   Adjusted R-squared:  0.0537 
F-statistic: 4.566 on 6 and 371 DF,  p-value: 0.0001741

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.047147 
Standard error............: 0.05183 
Odds ratio (effect size)..: 0.954 
Lower 95% CI..............: 0.862 
Upper 95% CI..............: 1.056 
T-value...................: -0.909652 
P-value...................: 0.3635968 
R^2.......................: 0.068764 
Adjusted r^2..............: 0.053703 
Sample size of AE DB......: 2423 
Sample size of model......: 378 
Missing data %............: 84.39951 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
          0.787848           -0.101836           -0.008171            0.298126           -0.277882           -0.619323           -0.414797  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5357 -0.6345 -0.0491  0.6373  2.7831 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.787848   0.398694   1.976  0.04884 *  
currentDF[, TRAIT] -0.101836   0.050466  -2.018  0.04428 *  
Age                -0.008171   0.005600  -1.459  0.14530    
Gendermale          0.298126   0.107411   2.776  0.00577 ** 
ORdate_year2003    -0.277882   0.156245  -1.778  0.07609 .  
ORdate_year2004    -0.619323   0.149677  -4.138 4.29e-05 ***
ORdate_year2005    -0.414797   0.178202  -2.328  0.02043 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9585 on 394 degrees of freedom
Multiple R-squared:  0.07263,   Adjusted R-squared:  0.0585 
F-statistic: 5.143 on 6 and 394 DF,  p-value: 4.186e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.101836 
Standard error............: 0.050466 
Odds ratio (effect size)..: 0.903 
Lower 95% CI..............: 0.818 
Upper 95% CI..............: 0.997 
T-value...................: -2.017907 
P-value...................: 0.0442783 
R^2.......................: 0.072625 
Adjusted r^2..............: 0.058503 
Sample size of AE DB......: 2423 
Sample size of model......: 401 
Missing data %............: 83.45027 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.2330           0.2028          -0.1790          -0.5369          -0.3788           0.5239  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2674 -0.6405 -0.0141  0.6563  2.8255 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.589074   0.392582   1.501 0.134239    
currentDF[, TRAIT]  0.046531   0.049717   0.936 0.349856    
Age                -0.005678   0.005483  -1.036 0.301012    
Gendermale          0.217170   0.106036   2.048 0.041178 *  
ORdate_year2003    -0.161651   0.153331  -1.054 0.292375    
ORdate_year2004    -0.509134   0.146148  -3.484 0.000547 ***
ORdate_year2005    -0.382093   0.162279  -2.355 0.019009 *  
ORdate_year2006     0.617205   0.697171   0.885 0.376506    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.965 on 417 degrees of freedom
Multiple R-squared:  0.05567,   Adjusted R-squared:  0.03982 
F-statistic: 3.512 on 7 and 417 DF,  p-value: 0.001126

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.046531 
Standard error............: 0.049717 
Odds ratio (effect size)..: 1.048 
Lower 95% CI..............: 0.95 
Upper 95% CI..............: 1.155 
T-value...................: 0.93592 
P-value...................: 0.3498562 
R^2.......................: 0.055672 
Adjusted r^2..............: 0.03982 
Sample size of AE DB......: 2423 
Sample size of model......: 425 
Missing data %............: 82.45976 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           1.09096             0.31676            -0.01062             0.22575            -0.25213            -0.65119            -0.67315            -0.28831  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2015 -0.5678 -0.0585  0.5428  2.9626 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         1.090957   0.374783   2.911   0.0038 ** 
currentDF[, TRAIT]  0.316761   0.047412   6.681 7.88e-11 ***
Age                -0.010624   0.005194  -2.045   0.0415 *  
Gendermale          0.225749   0.102252   2.208   0.0278 *  
ORdate_year2003    -0.252125   0.147376  -1.711   0.0879 .  
ORdate_year2004    -0.651189   0.140885  -4.622 5.12e-06 ***
ORdate_year2005    -0.673154   0.153726  -4.379 1.52e-05 ***
ORdate_year2006    -0.288313   0.471551  -0.611   0.5413    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9096 on 404 degrees of freedom
Multiple R-squared:  0.1601,    Adjusted R-squared:  0.1455 
F-statistic:    11 on 7 and 404 DF,  p-value: 9.676e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.316761 
Standard error............: 0.047412 
Odds ratio (effect size)..: 1.373 
Lower 95% CI..............: 1.251 
Upper 95% CI..............: 1.506 
T-value...................: 6.681044 
P-value...................: 7.883936e-11 
R^2.......................: 0.160086 
Adjusted r^2..............: 0.145533 
Sample size of AE DB......: 2423 
Sample size of model......: 412 
Missing data %............: 82.99629 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          0.232647            0.286038            0.283661           -0.007248           -0.626776           -0.559779           -0.850795  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.08892 -0.59571 -0.09555  0.59332  2.87741 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.511215   0.330465   1.547   0.1225    
currentDF[, TRAIT]  0.282709   0.039816   7.100 4.38e-12 ***
Age                -0.004166   0.004590  -0.908   0.3645    
Gendermale          0.285821   0.087700   3.259   0.0012 ** 
ORdate_year2003    -0.011194   0.139917  -0.080   0.9363    
ORdate_year2004    -0.626793   0.129827  -4.828 1.84e-06 ***
ORdate_year2005    -0.556778   0.127907  -4.353 1.63e-05 ***
ORdate_year2006    -0.841940   0.204140  -4.124 4.37e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8798 on 492 degrees of freedom
Multiple R-squared:  0.1912,    Adjusted R-squared:  0.1797 
F-statistic: 16.61 on 7 and 492 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.282709 
Standard error............: 0.039816 
Odds ratio (effect size)..: 1.327 
Lower 95% CI..............: 1.227 
Upper 95% CI..............: 1.434 
T-value...................: 7.100414 
P-value...................: 4.375948e-12 
R^2.......................: 0.191183 
Adjusted r^2..............: 0.179675 
Sample size of AE DB......: 2423 
Sample size of model......: 500 
Missing data %............: 79.36442 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
            0.2131             -0.1360              0.2821             -0.2023             -0.6164             -0.3071  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5617 -0.6209 -0.0305  0.6394  2.7973 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.762090   0.423910   1.798   0.0731 .  
currentDF[, TRAIT] -0.141857   0.055039  -2.577   0.0104 *  
Age                -0.008234   0.005945  -1.385   0.1669    
Gendermale          0.297311   0.115413   2.576   0.0104 *  
ORdate_year2003    -0.221598   0.161494  -1.372   0.1709    
ORdate_year2004    -0.620611   0.154787  -4.009 7.44e-05 ***
ORdate_year2005    -0.299938   0.207840  -1.443   0.1499    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9691 on 351 degrees of freedom
Multiple R-squared:  0.08224,   Adjusted R-squared:  0.06656 
F-statistic: 5.242 on 6 and 351 DF,  p-value: 3.456e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.141857 
Standard error............: 0.055039 
Odds ratio (effect size)..: 0.868 
Lower 95% CI..............: 0.779 
Upper 95% CI..............: 0.967 
T-value...................: -2.577419 
P-value...................: 0.01036155 
R^2.......................: 0.082244 
Adjusted r^2..............: 0.066556 
Sample size of AE DB......: 2423 
Sample size of model......: 358 
Missing data %............: 85.22493 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005  
           0.14690            -0.08991             0.30101            -0.13899            -0.54113            -0.38584  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5763 -0.6244 -0.0410  0.6401  2.8125 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.525893   0.410614   1.281 0.201080    
currentDF[, TRAIT] -0.093203   0.051567  -1.807 0.071504 .  
Age                -0.005705   0.005777  -0.988 0.324029    
Gendermale          0.313353   0.111186   2.818 0.005086 ** 
ORdate_year2003    -0.153170   0.159413  -0.961 0.337258    
ORdate_year2004    -0.542935   0.149427  -3.633 0.000319 ***
ORdate_year2005    -0.378422   0.189093  -2.001 0.046091 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9606 on 372 degrees of freedom
Multiple R-squared:  0.07115,   Adjusted R-squared:  0.05617 
F-statistic: 4.749 on 6 and 372 DF,  p-value: 0.0001116

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.093203 
Standard error............: 0.051567 
Odds ratio (effect size)..: 0.911 
Lower 95% CI..............: 0.823 
Upper 95% CI..............: 1.008 
T-value...................: -1.807422 
P-value...................: 0.07150421 
R^2.......................: 0.07115 
Adjusted r^2..............: 0.056169 
Sample size of AE DB......: 2423 
Sample size of model......: 379 
Missing data %............: 84.35823 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4860              0.4238              0.2148             -0.4487             -0.8473             -0.8010             -0.9665  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6611 -0.6241 -0.0900  0.5672  2.3808 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.594276   0.312390   1.902 0.057650 .  
currentDF[, TRAIT]  0.422608   0.038335  11.024  < 2e-16 ***
Age                -0.001631   0.004333  -0.376 0.706723    
Gendermale          0.216010   0.082701   2.612 0.009250 ** 
ORdate_year2003    -0.450146   0.133610  -3.369 0.000807 ***
ORdate_year2004    -0.846148   0.128371  -6.591 1.03e-10 ***
ORdate_year2005    -0.798907   0.128238  -6.230 9.32e-10 ***
ORdate_year2006    -0.962546   0.202207  -4.760 2.48e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8725 on 547 degrees of freedom
Multiple R-squared:  0.2432,    Adjusted R-squared:  0.2336 
F-statistic: 25.12 on 7 and 547 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.422608 
Standard error............: 0.038335 
Odds ratio (effect size)..: 1.526 
Lower 95% CI..............: 1.415 
Upper 95% CI..............: 1.645 
T-value...................: 11.02412 
P-value...................: 1.170157e-25 
R^2.......................: 0.243241 
Adjusted r^2..............: 0.233556 
Sample size of AE DB......: 2423 
Sample size of model......: 555 
Missing data %............: 77.09451 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4387              0.3728              0.2114             -0.4034             -0.7932             -0.7389             -0.9087  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5993 -0.6378 -0.1010  0.5590  2.5330 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.649968   0.320645   2.027  0.04314 *  
currentDF[, TRAIT]  0.370610   0.039292   9.432  < 2e-16 ***
Age                -0.003178   0.004440  -0.716  0.47439    
Gendermale          0.213465   0.085006   2.511  0.01232 *  
ORdate_year2003    -0.406006   0.136693  -2.970  0.00311 ** 
ORdate_year2004    -0.791149   0.131613  -6.011 3.36e-09 ***
ORdate_year2005    -0.735019   0.131363  -5.595 3.48e-08 ***
ORdate_year2006    -0.901341   0.207964  -4.334 1.74e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8976 on 548 degrees of freedom
Multiple R-squared:  0.2041,    Adjusted R-squared:  0.194 
F-statistic: 20.08 on 7 and 548 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.37061 
Standard error............: 0.039292 
Odds ratio (effect size)..: 1.449 
Lower 95% CI..............: 1.341 
Upper 95% CI..............: 1.565 
T-value...................: 9.4322 
P-value...................: 1.129816e-19 
R^2.......................: 0.204135 
Adjusted r^2..............: 0.193969 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.1379           0.3658          -0.1946          -0.5717          -0.5673          -0.5662  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4603 -0.6395 -0.0161  0.6855  2.7926 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.507100   0.404130   1.255 0.210292    
currentDF[, TRAIT] -0.049316   0.052098  -0.947 0.344424    
Age                -0.004991   0.005611  -0.889 0.374327    
Gendermale          0.361757   0.108495   3.334 0.000935 ***
ORdate_year2003    -0.230189   0.156651  -1.469 0.142506    
ORdate_year2004    -0.598529   0.149087  -4.015 7.12e-05 ***
ORdate_year2005    -0.618718   0.180008  -3.437 0.000650 ***
ORdate_year2006    -0.677516   0.707064  -0.958 0.338540    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9703 on 397 degrees of freedom
Multiple R-squared:  0.0796,    Adjusted R-squared:  0.06337 
F-statistic: 4.905 on 7 and 397 DF,  p-value: 2.5e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.049316 
Standard error............: 0.052098 
Odds ratio (effect size)..: 0.952 
Lower 95% CI..............: 0.859 
Upper 95% CI..............: 1.054 
T-value...................: -0.946589 
P-value...................: 0.3444242 
R^2.......................: 0.079596 
Adjusted r^2..............: 0.063368 
Sample size of AE DB......: 2423 
Sample size of model......: 405 
Missing data %............: 83.28518 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
        0.08689          0.26592         -0.10827         -0.47370         -0.31292          0.26338  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3908 -0.6402  0.0024  0.6017  2.8287 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)   
(Intercept)         0.579893   0.418850   1.384  0.16706   
currentDF[, TRAIT] -0.017853   0.054044  -0.330  0.74134   
Age                -0.007229   0.005834  -1.239  0.21610   
Gendermale          0.275440   0.112481   2.449  0.01481 * 
ORdate_year2003    -0.133271   0.165215  -0.807  0.42040   
ORdate_year2004    -0.490148   0.158894  -3.085  0.00219 **
ORdate_year2005    -0.299262   0.190969  -1.567  0.11797   
ORdate_year2006     0.306647   0.978617   0.313  0.75420   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9673 on 362 degrees of freedom
Multiple R-squared:  0.05655,   Adjusted R-squared:  0.0383 
F-statistic: 3.099 on 7 and 362 DF,  p-value: 0.003464

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.017853 
Standard error............: 0.054044 
Odds ratio (effect size)..: 0.982 
Lower 95% CI..............: 0.884 
Upper 95% CI..............: 1.092 
T-value...................: -0.330336 
P-value...................: 0.7413369 
R^2.......................: 0.056545 
Adjusted r^2..............: 0.038302 
Sample size of AE DB......: 2423 
Sample size of model......: 370 
Missing data %............: 84.72967 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale  
           -0.1633              0.3773              0.2289  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2912 -0.5906 -0.0290  0.6494  2.7566 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.353780   0.330790   1.070  0.28531    
currentDF[, TRAIT]  0.349057   0.045008   7.755 4.32e-14 ***
Age                -0.004599   0.004536  -1.014  0.31106    
Gendermale          0.245496   0.086824   2.828  0.00486 ** 
ORdate_year2003    -0.235012   0.138369  -1.698  0.08999 .  
ORdate_year2004    -0.247919   0.139392  -1.779  0.07586 .  
ORdate_year2005    -0.223086   0.140677  -1.586  0.11336    
ORdate_year2006    -0.489561   0.219605  -2.229  0.02620 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9186 on 548 degrees of freedom
Multiple R-squared:  0.1664,    Adjusted R-squared:  0.1558 
F-statistic: 15.63 on 7 and 548 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.349057 
Standard error............: 0.045008 
Odds ratio (effect size)..: 1.418 
Lower 95% CI..............: 1.298 
Upper 95% CI..............: 1.548 
T-value...................: 7.755397 
P-value...................: 4.320345e-14 
R^2.......................: 0.166419 
Adjusted r^2..............: 0.155771 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MCP1_rank
attempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsense

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]  
         1.307e-34           1.000e+00  
essentially perfect fit: summary may be unreliable

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
       Min         1Q     Median         3Q        Max 
-2.244e-16 -2.921e-17 -2.860e-18  1.824e-17  3.116e-15 

Coefficients:
                     Estimate Std. Error    t value Pr(>|t|)    
(Intercept)        -1.913e-17  5.096e-17 -3.750e-01   0.7076    
currentDF[, TRAIT]  1.000e+00  6.276e-18  1.593e+17   <2e-16 ***
Age                 7.139e-19  7.022e-19  1.017e+00   0.3098    
Gendermale          6.605e-18  1.353e-17  4.880e-01   0.6257    
ORdate_year2003    -4.661e-17  2.145e-17 -2.173e+00   0.0302 *  
ORdate_year2004    -3.662e-17  2.086e-17 -1.756e+00   0.0797 .  
ORdate_year2005    -3.628e-17  2.094e-17 -1.733e+00   0.0837 .  
ORdate_year2006    -2.147e-17  3.343e-17 -6.420e-01   0.5210    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.422e-16 on 548 degrees of freedom
Multiple R-squared:      1, Adjusted R-squared:      1 
F-statistic: 3.921e+33 on 7 and 548 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MCP1_rank ' .
essentially perfect fit: summary may be unreliable
Collecting data.
essentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliable
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 1 
Standard error............: 0 
Odds ratio (effect size)..: 2.718 
Lower 95% CI..............: 2.718 
Upper 95% CI..............: 2.718 
T-value...................: 1.593436e+17 
P-value...................: 0 
R^2.......................: 1 
Adjusted r^2..............: 1 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.32420             0.35362             0.20205            -0.03445            -0.67599            -0.62650            -0.80208  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.83885 -0.62719 -0.08645  0.55672  2.90268 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.654198   0.317480   2.061   0.0399 *  
currentDF[, TRAIT]  0.350978   0.038504   9.115  < 2e-16 ***
Age                -0.004948   0.004411  -1.122   0.2625    
Gendermale          0.205436   0.084734   2.424   0.0157 *  
ORdate_year2003    -0.040012   0.133760  -0.299   0.7650    
ORdate_year2004    -0.675370   0.126380  -5.344 1.38e-07 ***
ORdate_year2005    -0.622285   0.124697  -4.990 8.31e-07 ***
ORdate_year2006    -0.791479   0.199092  -3.975 8.05e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8574 on 505 degrees of freedom
Multiple R-squared:  0.2297,    Adjusted R-squared:  0.219 
F-statistic: 21.51 on 7 and 505 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.350978 
Standard error............: 0.038504 
Odds ratio (effect size)..: 1.42 
Lower 95% CI..............: 1.317 
Upper 95% CI..............: 1.532 
T-value...................: 9.115453 
P-value...................: 1.845875e-18 
R^2.......................: 0.229686 
Adjusted r^2..............: 0.219008 
Sample size of AE DB......: 2423 
Sample size of model......: 513 
Missing data %............: 78.8279 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.04641             0.34375             0.20851             0.05907            -0.10859            -0.17170            -0.49438  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3386 -0.5303 -0.0225  0.6081  3.0006 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.0111118  0.3367301  -0.033   0.9737    
currentDF[, TRAIT]  0.3430704  0.0443331   7.738 4.97e-14 ***
Age                -0.0005196  0.0045628  -0.114   0.9094    
Gendermale          0.2089363  0.0869434   2.403   0.0166 *  
ORdate_year2003     0.0578970  0.1417289   0.409   0.6831    
ORdate_year2004    -0.1094086  0.1449468  -0.755   0.4507    
ORdate_year2005    -0.1720381  0.1421487  -1.210   0.2267    
ORdate_year2006    -0.4940217  0.2181132  -2.265   0.0239 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9124 on 541 degrees of freedom
Multiple R-squared:  0.1693,    Adjusted R-squared:  0.1585 
F-statistic: 15.75 on 7 and 541 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.34307 
Standard error............: 0.044333 
Odds ratio (effect size)..: 1.409 
Lower 95% CI..............: 1.292 
Upper 95% CI..............: 1.537 
T-value...................: 7.738468 
P-value...................: 4.96533e-14 
R^2.......................: 0.16929 
Adjusted r^2..............: 0.158541 
Sample size of AE DB......: 2423 
Sample size of model......: 549 
Missing data %............: 77.34214 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4381              0.3169              0.2299             -0.2177             -0.8360             -0.8154             -1.1313  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3481 -0.6193 -0.0581  0.5754  2.6933 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.661797   0.329185   2.010  0.04489 *  
currentDF[, TRAIT]  0.313672   0.041792   7.506 2.55e-13 ***
Age                -0.003376   0.004576  -0.738  0.46094    
Gendermale          0.232023   0.086842   2.672  0.00777 ** 
ORdate_year2003    -0.220470   0.138558  -1.591  0.11216    
ORdate_year2004    -0.832642   0.136117  -6.117 1.84e-09 ***
ORdate_year2005    -0.809837   0.136012  -5.954 4.72e-09 ***
ORdate_year2006    -1.121261   0.213135  -5.261 2.07e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9115 on 538 degrees of freedom
Multiple R-squared:  0.1691,    Adjusted R-squared:  0.1583 
F-statistic: 15.65 on 7 and 538 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.313672 
Standard error............: 0.041792 
Odds ratio (effect size)..: 1.368 
Lower 95% CI..............: 1.261 
Upper 95% CI..............: 1.485 
T-value...................: 7.5056 
P-value...................: 2.55159e-13 
R^2.......................: 0.169134 
Adjusted r^2..............: 0.158323 
Sample size of AE DB......: 2423 
Sample size of model......: 546 
Missing data %............: 77.46595 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.3397              0.4309              0.2453             -0.2507             -0.7034             -0.6386             -0.7495  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3459 -0.6311 -0.0563  0.5412  2.2450 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.489739   0.320834   1.526 0.127544    
currentDF[, TRAIT]  0.429691   0.039130  10.981  < 2e-16 ***
Age                -0.002248   0.004463  -0.504 0.614648    
Gendermale          0.246891   0.083971   2.940 0.003435 ** 
ORdate_year2003    -0.253849   0.133856  -1.896 0.058492 .  
ORdate_year2004    -0.703339   0.125598  -5.600 3.58e-08 ***
ORdate_year2005    -0.637337   0.125444  -5.081 5.36e-07 ***
ORdate_year2006    -0.745594   0.206736  -3.607 0.000342 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8488 on 489 degrees of freedom
Multiple R-squared:  0.2646,    Adjusted R-squared:  0.2541 
F-statistic: 25.14 on 7 and 489 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.429691 
Standard error............: 0.03913 
Odds ratio (effect size)..: 1.537 
Lower 95% CI..............: 1.423 
Upper 95% CI..............: 1.659 
T-value...................: 10.98102 
P-value...................: 3.169245e-25 
R^2.......................: 0.26462 
Adjusted r^2..............: 0.254093 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.4204              0.3481              0.1904             -0.2771             -0.7801             -0.7335             -0.9387  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4856 -0.6401 -0.0844  0.5754  2.7397 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.701727   0.324032   2.166   0.0308 *  
currentDF[, TRAIT]  0.345928   0.039755   8.701  < 2e-16 ***
Age                -0.004225   0.004480  -0.943   0.3461    
Gendermale          0.193182   0.086166   2.242   0.0254 *  
ORdate_year2003    -0.281650   0.136824  -2.058   0.0400 *  
ORdate_year2004    -0.777898   0.133026  -5.848 8.57e-09 ***
ORdate_year2005    -0.728662   0.132822  -5.486 6.29e-08 ***
ORdate_year2006    -0.928724   0.210172  -4.419 1.20e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.907 on 548 degrees of freedom
Multiple R-squared:  0.1872,    Adjusted R-squared:  0.1768 
F-statistic: 18.03 on 7 and 548 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.345928 
Standard error............: 0.039755 
Odds ratio (effect size)..: 1.413 
Lower 95% CI..............: 1.307 
Upper 95% CI..............: 1.528 
T-value...................: 8.701445 
P-value...................: 3.840103e-17 
R^2.......................: 0.187227 
Adjusted r^2..............: 0.176844 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.07889             0.27558             0.13538             0.17052            -0.15874            -0.09947            -0.49110  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.05279 -0.59464 -0.05743  0.62497  2.59052 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.071116   0.381059   0.187   0.8520    
currentDF[, TRAIT]  0.273442   0.044616   6.129 1.87e-09 ***
Age                -0.002226   0.004810  -0.463   0.6437    
Gendermale          0.136007   0.093154   1.460   0.1449    
ORdate_year2003     0.167415   0.209948   0.797   0.4256    
ORdate_year2004    -0.159377   0.207434  -0.768   0.4427    
ORdate_year2005    -0.098963   0.208704  -0.474   0.6356    
ORdate_year2006    -0.486671   0.264908  -1.837   0.0668 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9185 on 473 degrees of freedom
Multiple R-squared:  0.1246,    Adjusted R-squared:  0.1116 
F-statistic: 9.616 on 7 and 473 DF,  p-value: 3.359e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.273442 
Standard error............: 0.044616 
Odds ratio (effect size)..: 1.314 
Lower 95% CI..............: 1.204 
Upper 95% CI..............: 1.435 
T-value...................: 6.128727 
P-value...................: 1.868227e-09 
R^2.......................: 0.12458 
Adjusted r^2..............: 0.111624 
Sample size of AE DB......: 2423 
Sample size of model......: 481 
Missing data %............: 80.14858 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          0.421239            0.439763           -0.006743            0.283718           -0.173869           -0.130971           -0.223108           -0.552767  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.03092 -0.57322 -0.03825  0.57915  2.12587 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.421239   0.314937   1.338 0.181603    
currentDF[, TRAIT]  0.439763   0.040830  10.771  < 2e-16 ***
Age                -0.006743   0.004335  -1.556 0.120354    
Gendermale          0.283718   0.083016   3.418 0.000679 ***
ORdate_year2003    -0.173869   0.132451  -1.313 0.189833    
ORdate_year2004    -0.130971   0.133632  -0.980 0.327475    
ORdate_year2005    -0.223108   0.131603  -1.695 0.090584 .  
ORdate_year2006    -0.552767   0.206356  -2.679 0.007613 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8791 on 548 degrees of freedom
Multiple R-squared:  0.2365,    Adjusted R-squared:  0.2268 
F-statistic: 24.26 on 7 and 548 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.439763 
Standard error............: 0.04083 
Odds ratio (effect size)..: 1.552 
Lower 95% CI..............: 1.433 
Upper 95% CI..............: 1.682 
T-value...................: 10.77062 
P-value...................: 1.1435e-24 
R^2.......................: 0.236545 
Adjusted r^2..............: 0.226793 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.01437             0.37784             0.28981             0.10466            -0.29365            -0.24619            -0.50856  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9657 -0.5977 -0.1212  0.5546  3.4079 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.225201   0.320842   0.702 0.483065    
currentDF[, TRAIT]  0.375756   0.040316   9.320  < 2e-16 ***
Age                -0.003568   0.004418  -0.808 0.419635    
Gendermale          0.292207   0.084666   3.451 0.000605 ***
ORdate_year2003     0.098737   0.136451   0.724 0.469644    
ORdate_year2004    -0.295157   0.129966  -2.271 0.023569 *  
ORdate_year2005    -0.245186   0.129828  -1.889 0.059532 .  
ORdate_year2006    -0.502604   0.203940  -2.464 0.014057 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8594 on 500 degrees of freedom
Multiple R-squared:  0.2338,    Adjusted R-squared:  0.223 
F-statistic: 21.79 on 7 and 500 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.375756 
Standard error............: 0.040316 
Odds ratio (effect size)..: 1.456 
Lower 95% CI..............: 1.345 
Upper 95% CI..............: 1.576 
T-value...................: 9.320353 
P-value...................: 3.710608e-19 
R^2.......................: 0.233766 
Adjusted r^2..............: 0.223039 
Sample size of AE DB......: 2423 
Sample size of model......: 508 
Missing data %............: 79.03426 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.2527              0.5883              0.1680             -0.1905             -0.3841             -0.5938             -1.0461  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6138 -0.5384 -0.0730  0.4763  2.5302 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.341906   0.279821   1.222 0.222282    
currentDF[, TRAIT]  0.587533   0.034551  17.005  < 2e-16 ***
Age                -0.001335   0.003869  -0.345 0.730114    
Gendermale          0.168952   0.074056   2.281 0.022908 *  
ORdate_year2003    -0.192275   0.117688  -1.634 0.102882    
ORdate_year2004    -0.384088   0.113283  -3.391 0.000748 ***
ORdate_year2005    -0.592566   0.113195  -5.235 2.36e-07 ***
ORdate_year2006    -1.042826   0.180925  -5.764 1.37e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7801 on 547 degrees of freedom
Multiple R-squared:  0.3949,    Adjusted R-squared:  0.3872 
F-statistic: 51.01 on 7 and 547 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.587533 
Standard error............: 0.034551 
Odds ratio (effect size)..: 1.8 
Lower 95% CI..............: 1.682 
Upper 95% CI..............: 1.926 
T-value...................: 17.00458 
P-value...................: 2.268881e-52 
R^2.......................: 0.394949 
Adjusted r^2..............: 0.387206 
Sample size of AE DB......: 2423 
Sample size of model......: 555 
Missing data %............: 77.09451 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale  
           -0.1740              0.6658              0.2313  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.02787 -0.39146  0.02809  0.43169  2.24289 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -0.078314   0.265721  -0.295 0.768318    
currentDF[, TRAIT]  0.661086   0.033110  19.966  < 2e-16 ***
Age                 0.001486   0.003652   0.407 0.684221    
Gendermale          0.238104   0.069548   3.424 0.000664 ***
ORdate_year2003    -0.255982   0.110904  -2.308 0.021363 *  
ORdate_year2004    -0.180484   0.108220  -1.668 0.095938 .  
ORdate_year2005    -0.241434   0.108100  -2.233 0.025923 *  
ORdate_year2006    -0.314496   0.173169  -1.816 0.069899 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7362 on 548 degrees of freedom
Multiple R-squared:  0.4645,    Adjusted R-squared:  0.4576 
F-statistic:  67.9 on 7 and 548 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.661086 
Standard error............: 0.03311 
Odds ratio (effect size)..: 1.937 
Lower 95% CI..............: 1.815 
Upper 95% CI..............: 2.067 
T-value...................: 19.96615 
P-value...................: 4.67076e-67 
R^2.......................: 0.46449 
Adjusted r^2..............: 0.45765 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.6085              0.3336              0.2048             -0.5618             -0.7468             -1.1147             -1.3753  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1762 -0.6140 -0.0826  0.5914  2.7511 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         1.014833   0.369597   2.746 0.006282 ** 
currentDF[, TRAIT]  0.335794   0.050085   6.704 6.16e-11 ***
Age                -0.006056   0.004966  -1.219 0.223332    
Gendermale          0.203733   0.097164   2.097 0.036577 *  
ORdate_year2003    -0.567203   0.168122  -3.374 0.000807 ***
ORdate_year2004    -0.742556   0.157140  -4.725 3.09e-06 ***
ORdate_year2005    -1.107021   0.174867  -6.331 5.98e-10 ***
ORdate_year2006    -1.360111   0.241951  -5.621 3.35e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9109 on 444 degrees of freedom
Multiple R-squared:  0.1589,    Adjusted R-squared:  0.1456 
F-statistic: 11.98 on 7 and 444 DF,  p-value: 5.01e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.335794 
Standard error............: 0.050085 
Odds ratio (effect size)..: 1.399 
Lower 95% CI..............: 1.268 
Upper 95% CI..............: 1.543 
T-value...................: 6.70445 
P-value...................: 6.159075e-11 
R^2.......................: 0.15888 
Adjusted r^2..............: 0.145619 
Sample size of AE DB......: 2423 
Sample size of model......: 452 
Missing data %............: 81.34544 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.2248              0.1020              0.2761             -0.1992             -0.5585             -0.5377             -0.8156  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5013 -0.5962 -0.0076  0.6394  2.6793 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.458565   0.348914   1.314 0.189337    
currentDF[, TRAIT]  0.100342   0.043610   2.301 0.021791 *  
Age                -0.003498   0.004815  -0.727 0.467789    
Gendermale          0.277754   0.092831   2.992 0.002903 ** 
ORdate_year2003    -0.202797   0.146972  -1.380 0.168230    
ORdate_year2004    -0.558271   0.143734  -3.884 0.000116 ***
ORdate_year2005    -0.534522   0.142094  -3.762 0.000188 ***
ORdate_year2006    -0.806634   0.233584  -3.453 0.000599 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9554 on 520 degrees of freedom
Multiple R-squared:  0.08715,   Adjusted R-squared:  0.07486 
F-statistic: 7.092 on 7 and 520 DF,  p-value: 4.185e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.100342 
Standard error............: 0.04361 
Odds ratio (effect size)..: 1.106 
Lower 95% CI..............: 1.015 
Upper 95% CI..............: 1.204 
T-value...................: 2.300911 
P-value...................: 0.0217914 
R^2.......................: 0.087149 
Adjusted r^2..............: 0.07486 
Sample size of AE DB......: 2423 
Sample size of model......: 528 
Missing data %............: 78.20883 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.1192              0.3282              0.3644             -0.2303             -0.4572             -0.4580             -0.5866  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4693 -0.5457  0.0027  0.5762  2.7358 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.479497   0.333210   1.439 0.150742    
currentDF[, TRAIT]  0.325955   0.040684   8.012 7.40e-15 ***
Age                -0.005375   0.004598  -1.169 0.242896    
Gendermale          0.366462   0.088607   4.136 4.12e-05 ***
ORdate_year2003    -0.236424   0.137139  -1.724 0.085304 .  
ORdate_year2004    -0.456781   0.132423  -3.449 0.000607 ***
ORdate_year2005    -0.454338   0.133284  -3.409 0.000703 ***
ORdate_year2006    -0.567570   0.389467  -1.457 0.145635    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9104 on 523 degrees of freedom
Multiple R-squared:  0.1708,    Adjusted R-squared:  0.1597 
F-statistic: 15.39 on 7 and 523 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.325955 
Standard error............: 0.040684 
Odds ratio (effect size)..: 1.385 
Lower 95% CI..............: 1.279 
Upper 95% CI..............: 1.5 
T-value...................: 8.011938 
P-value...................: 7.395861e-15 
R^2.......................: 0.170824 
Adjusted r^2..............: 0.159726 
Sample size of AE DB......: 2423 
Sample size of model......: 531 
Missing data %............: 78.08502 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          0.847605            0.430758           -0.007942            0.139867           -0.183364           -0.512651           -0.582720           -0.402703  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3134 -0.4926  0.0184  0.5361  2.9610 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.847605   0.316046   2.682  0.00755 ** 
currentDF[, TRAIT]  0.430758   0.038316  11.242  < 2e-16 ***
Age                -0.007942   0.004368  -1.818  0.06959 .  
Gendermale          0.139867   0.085118   1.643  0.10094    
ORdate_year2003    -0.183364   0.130420  -1.406  0.16033    
ORdate_year2004    -0.512651   0.125213  -4.094 4.91e-05 ***
ORdate_year2005    -0.582720   0.126204  -4.617 4.90e-06 ***
ORdate_year2006    -0.402703   0.370833  -1.086  0.27800    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8657 on 523 degrees of freedom
Multiple R-squared:  0.2502,    Adjusted R-squared:  0.2402 
F-statistic: 24.94 on 7 and 523 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.430758 
Standard error............: 0.038316 
Odds ratio (effect size)..: 1.538 
Lower 95% CI..............: 1.427 
Upper 95% CI..............: 1.658 
T-value...................: 11.24238 
P-value...................: 2.05252e-26 
R^2.......................: 0.250244 
Adjusted r^2..............: 0.240209 
Sample size of AE DB......: 2423 
Sample size of model......: 531 
Missing data %............: 78.08502 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.88945             0.56190            -0.01073             0.20400            -0.17971            -0.37281            -0.41489            -0.24740  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1926 -0.4989 -0.0247  0.5016  2.8649 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)         0.88945    0.28901   3.078 0.002196 ** 
currentDF[, TRAIT]  0.56190    0.03533  15.904  < 2e-16 ***
Age                -0.01073    0.00400  -2.682 0.007556 ** 
Gendermale          0.20400    0.07701   2.649 0.008314 ** 
ORdate_year2003    -0.17971    0.11925  -1.507 0.132430    
ORdate_year2004    -0.37281    0.11516  -3.237 0.001283 ** 
ORdate_year2005    -0.41489    0.11572  -3.585 0.000368 ***
ORdate_year2006    -0.24740    0.33946  -0.729 0.466453    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7916 on 522 degrees of freedom
Multiple R-squared:  0.3728,    Adjusted R-squared:  0.3644 
F-statistic: 44.32 on 7 and 522 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.561903 
Standard error............: 0.035332 
Odds ratio (effect size)..: 1.754 
Lower 95% CI..............: 1.637 
Upper 95% CI..............: 1.88 
T-value...................: 15.9036 
P-value...................: 9.991686e-47 
R^2.......................: 0.37279 
Adjusted r^2..............: 0.364379 
Sample size of AE DB......: 2423 
Sample size of model......: 530 
Missing data %............: 78.12629 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
DT::datatable(GLM.results)


# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Uni.MCP1_Plaque.Cytokines_Plaques.RANK.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Model 2

In this model we correct for Age, Gender, year of surgery, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Analysis of plaque cytokines as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(proteins_of_interest_rank)) {
    TRAIT = proteins_of_interest_rank[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year + 
                Hypertension.composite + DiabetesStatus + SmokerStatus + 
                Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                MedHx_CVD + stenose, 
              data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                  0.5109                   -0.1400                   -0.8350                   -0.7065                    1.6447                   -0.1352                    0.2434  
       Med.Statin.LLDyes  
                 -0.2185  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.61413 -0.69900 -0.03439  0.51884  2.83588 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.490689   1.319567  -0.372 0.710270    
currentDF[, TRAIT]         0.034099   0.059900   0.569 0.569611    
Age                        0.001970   0.007243   0.272 0.785844    
Gendermale                 0.121135   0.124708   0.971 0.332175    
ORdate_year2003           -0.114564   0.178547  -0.642 0.521606    
ORdate_year2004           -0.782038   0.170102  -4.597 6.38e-06 ***
ORdate_year2005           -0.715123   0.205754  -3.476 0.000587 ***
ORdate_year2006            1.716493   1.012707   1.695 0.091150 .  
Hypertension.compositeyes -0.150001   0.172191  -0.871 0.384400    
DiabetesStatusDiabetes     0.061145   0.143586   0.426 0.670538    
SmokerStatusEx-smoker     -0.133745   0.127313  -1.051 0.294349    
SmokerStatusNever smoked   0.330736   0.202754   1.631 0.103923    
Med.Statin.LLDyes         -0.222064   0.127372  -1.743 0.082312 .  
Med.all.antiplateletyes   -0.234088   0.210408  -1.113 0.266819    
GFR_MDRD                   0.001344   0.003271   0.411 0.681492    
BMI                       -0.008971   0.017123  -0.524 0.600714    
MedHx_CVDyes               0.162562   0.119244   1.363 0.173846    
stenose50-70%              0.681362   1.045406   0.652 0.515064    
stenose70-90%              1.201212   0.991812   1.211 0.226825    
stenose90-99%              1.114058   0.990302   1.125 0.261526    
stenose100% (Occlusion)    0.289608   1.173551   0.247 0.805252    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9664 on 292 degrees of freedom
Multiple R-squared:  0.1938,    Adjusted R-squared:  0.1386 
F-statistic:  3.51 on 20 and 292 DF,  p-value: 1.255e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: 0.034099 
Standard error............: 0.0599 
Odds ratio (effect size)..: 1.035 
Lower 95% CI..............: 0.92 
Upper 95% CI..............: 1.164 
T-value...................: 0.569269 
P-value...................: 0.5696114 
R^2.......................: 0.193816 
Adjusted r^2..............: 0.138598 
Sample size of AE DB......: 2423 
Sample size of model......: 313 
Missing data %............: 87.08213 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)           ORdate_year2003           ORdate_year2004           ORdate_year2005     SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
                  0.5189                   -0.1103                   -0.8637                   -0.4326                   -0.1529                    0.3732                   -0.2269  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.67791 -0.69959 -0.06449  0.56253  2.78634 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.2783842  0.9048264   0.308   0.7586    
currentDF[, TRAIT]        -0.0236622  0.0618121  -0.383   0.7022    
Age                        0.0025034  0.0074455   0.336   0.7370    
Gendermale                 0.1304062  0.1301565   1.002   0.3173    
ORdate_year2003           -0.1203048  0.1804143  -0.667   0.5055    
ORdate_year2004           -0.8434118  0.1730704  -4.873 1.88e-06 ***
ORdate_year2005           -0.4425205  0.2295243  -1.928   0.0549 .  
Hypertension.compositeyes -0.1821757  0.1792700  -1.016   0.3104    
DiabetesStatusDiabetes     0.0181687  0.1466374   0.124   0.9015    
SmokerStatusEx-smoker     -0.1666453  0.1290880  -1.291   0.1978    
SmokerStatusNever smoked   0.4598087  0.2113153   2.176   0.0304 *  
Med.Statin.LLDyes         -0.2400635  0.1321952  -1.816   0.0705 .  
Med.all.antiplateletyes   -0.2294527  0.2199998  -1.043   0.2979    
GFR_MDRD                   0.0003073  0.0035539   0.086   0.9312    
BMI                       -0.0068526  0.0175072  -0.391   0.6958    
MedHx_CVDyes               0.1523842  0.1225876   1.243   0.2149    
stenose70-90%              0.4785088  0.3315477   1.443   0.1501    
stenose90-99%              0.4118991  0.3264759   1.262   0.2082    
stenose100% (Occlusion)   -0.4327537  0.6765643  -0.640   0.5230    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9544 on 269 degrees of freedom
Multiple R-squared:  0.1998,    Adjusted R-squared:  0.1463 
F-statistic: 3.732 on 18 and 269 DF,  p-value: 1.08e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.023662 
Standard error............: 0.061812 
Odds ratio (effect size)..: 0.977 
Lower 95% CI..............: 0.865 
Upper 95% CI..............: 1.102 
T-value...................: -0.382809 
P-value...................: 0.7021636 
R^2.......................: 0.199831 
Adjusted r^2..............: 0.146288 
Sample size of AE DB......: 2423 
Sample size of model......: 288 
Missing data %............: 88.11391 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus + 
    Med.Statin.LLD + MedHx_CVD, data = currentDF)

Coefficients:
             (Intercept)           ORdate_year2003           ORdate_year2004           ORdate_year2005     SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
                  0.4382                   -0.1479                   -0.8405                   -0.5497                   -0.1298                    0.3460                   -0.2609  
            MedHx_CVDyes  
                  0.1800  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7811 -0.6451 -0.0920  0.5935  2.7294 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.435306   0.843345   0.516  0.60613    
currentDF[, TRAIT]        -0.043473   0.058372  -0.745  0.45702    
Age                        0.002956   0.007106   0.416  0.67776    
Gendermale                 0.142064   0.121655   1.168  0.24387    
ORdate_year2003           -0.213492   0.175461  -1.217  0.22470    
ORdate_year2004           -0.886702   0.167287  -5.300  2.3e-07 ***
ORdate_year2005           -0.622463   0.209496  -2.971  0.00322 ** 
Hypertension.compositeyes -0.216531   0.166899  -1.297  0.19554    
DiabetesStatusDiabetes    -0.048944   0.141400  -0.346  0.72949    
SmokerStatusEx-smoker     -0.156088   0.123674  -1.262  0.20794    
SmokerStatusNever smoked   0.406877   0.204034   1.994  0.04708 *  
Med.Statin.LLDyes         -0.244126   0.123968  -1.969  0.04988 *  
Med.all.antiplateletyes   -0.230073   0.210803  -1.091  0.27600    
GFR_MDRD                   0.000101   0.003267   0.031  0.97537    
BMI                       -0.002651   0.016251  -0.163  0.87055    
MedHx_CVDyes               0.172674   0.115469   1.495  0.13590    
stenose70-90%              0.272637   0.321464   0.848  0.39708    
stenose90-99%              0.220770   0.319351   0.691  0.48993    
stenose100% (Occlusion)   -0.661689   0.662556  -0.999  0.31878    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9365 on 288 degrees of freedom
Multiple R-squared:  0.1933,    Adjusted R-squared:  0.1429 
F-statistic: 3.835 on 18 and 288 DF,  p-value: 5.385e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.043473 
Standard error............: 0.058372 
Odds ratio (effect size)..: 0.957 
Lower 95% CI..............: 0.854 
Upper 95% CI..............: 1.074 
T-value...................: -0.744763 
P-value...................: 0.4570223 
R^2.......................: 0.193335 
Adjusted r^2..............: 0.142918 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes  
           0.5459            -0.1641            -0.8712            -0.9202             1.9023            -0.2677  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.61112 -0.71504 -0.08496  0.51120  3.03521 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.1009527  1.1464056   0.088   0.9299    
currentDF[, TRAIT]         0.0710585  0.0600919   1.182   0.2380    
Age                        0.0061995  0.0075886   0.817   0.4146    
Gendermale                 0.1346947  0.1270148   1.060   0.2898    
ORdate_year2003           -0.1299316  0.1823102  -0.713   0.4766    
ORdate_year2004           -0.8142340  0.1718887  -4.737 3.38e-06 ***
ORdate_year2005           -0.9866472  0.2076762  -4.751 3.17e-06 ***
ORdate_year2006            1.6088860  1.0265449   1.567   0.1181    
Hypertension.compositeyes -0.1429010  0.1771714  -0.807   0.4206    
DiabetesStatusDiabetes     0.0570346  0.1471204   0.388   0.6985    
SmokerStatusEx-smoker     -0.1606526  0.1284518  -1.251   0.2120    
SmokerStatusNever smoked   0.2723517  0.2083001   1.307   0.1921    
Med.Statin.LLDyes         -0.2451939  0.1287940  -1.904   0.0579 .  
Med.all.antiplateletyes   -0.1376455  0.2039125  -0.675   0.5002    
GFR_MDRD                   0.0005086  0.0034046   0.149   0.8814    
BMI                       -0.0072265  0.0161571  -0.447   0.6550    
MedHx_CVDyes               0.1634944  0.1199279   1.363   0.1738    
stenose50-70%             -0.2098951  0.7823723  -0.268   0.7887    
stenose70-90%              0.3383113  0.7270341   0.465   0.6420    
stenose90-99%              0.2194323  0.7234942   0.303   0.7619    
stenose100% (Occlusion)   -0.5086472  0.9675674  -0.526   0.5995    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9873 on 295 degrees of freedom
Multiple R-squared:  0.2083,    Adjusted R-squared:  0.1546 
F-statistic: 3.881 on 20 and 295 DF,  p-value: 1.27e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.071058 
Standard error............: 0.060092 
Odds ratio (effect size)..: 1.074 
Lower 95% CI..............: 0.954 
Upper 95% CI..............: 1.208 
T-value...................: 1.182497 
P-value...................: 0.2379609 
R^2.......................: 0.208314 
Adjusted r^2..............: 0.15464 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.6067              0.2407             -0.2748             -0.9597             -1.2944             -0.3376             -0.1992  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.96944 -0.67844 -0.05778  0.54110  2.98982 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.574852   1.124501   1.400 0.162451    
currentDF[, TRAIT]         0.228683   0.059380   3.851 0.000145 ***
Age                       -0.007155   0.007436  -0.962 0.336724    
Gendermale                 0.150380   0.127961   1.175 0.240891    
ORdate_year2003           -0.284168   0.182532  -1.557 0.120620    
ORdate_year2004           -0.951344   0.171516  -5.547 6.63e-08 ***
ORdate_year2005           -1.283793   0.201489  -6.372 7.46e-10 ***
ORdate_year2006           -0.439442   0.588704  -0.746 0.456006    
Hypertension.compositeyes -0.111328   0.178502  -0.624 0.533337    
DiabetesStatusDiabetes     0.142079   0.146737   0.968 0.333733    
SmokerStatusEx-smoker     -0.059495   0.126436  -0.471 0.638317    
SmokerStatusNever smoked   0.329693   0.211753   1.557 0.120583    
Med.Statin.LLDyes         -0.242302   0.126197  -1.920 0.055849 .  
Med.all.antiplateletyes   -0.006207   0.202918  -0.031 0.975618    
GFR_MDRD                  -0.003865   0.003241  -1.193 0.233999    
BMI                       -0.012399   0.015845  -0.783 0.434559    
MedHx_CVDyes               0.118509   0.119155   0.995 0.320781    
stenose50-70%             -0.493868   0.769503  -0.642 0.521517    
stenose70-90%              0.133629   0.710559   0.188 0.850962    
stenose90-99%             -0.004824   0.709504  -0.007 0.994580    
stenose100% (Occlusion)   -0.084794   0.917431  -0.092 0.926425    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9693 on 286 degrees of freedom
Multiple R-squared:  0.2426,    Adjusted R-squared:  0.1896 
F-statistic: 4.579 on 20 and 286 DF,  p-value: 1.878e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.228683 
Standard error............: 0.05938 
Odds ratio (effect size)..: 1.257 
Lower 95% CI..............: 1.119 
Upper 95% CI..............: 1.412 
T-value...................: 3.851152 
P-value...................: 0.0001451227 
R^2.......................: 0.242559 
Adjusted r^2..............: 0.189592 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes       Med.Statin.LLDyes  
               0.48828                 0.14138                -0.08442                -0.88446                -0.95228                -0.48778                 0.26200                -0.27541  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.69340 -0.76937 -0.08466  0.52110  2.90149 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.8102276  1.1091759   1.632   0.1036    
currentDF[, TRAIT]         0.1288929  0.0578885   2.227   0.0267 *  
Age                       -0.0070991  0.0073204  -0.970   0.3329    
Gendermale                 0.1565508  0.1258665   1.244   0.2145    
ORdate_year2003           -0.1198702  0.2004486  -0.598   0.5502    
ORdate_year2004           -0.9027959  0.1823040  -4.952 1.18e-06 ***
ORdate_year2005           -0.9788258  0.1866719  -5.244 2.84e-07 ***
ORdate_year2006           -0.5629846  0.3167032  -1.778   0.0764 .  
Hypertension.compositeyes -0.1512993  0.1742371  -0.868   0.3858    
DiabetesStatusDiabetes     0.2894576  0.1485375   1.949   0.0522 .  
SmokerStatusEx-smoker     -0.0413629  0.1284730  -0.322   0.7477    
SmokerStatusNever smoked   0.2889767  0.1914196   1.510   0.1321    
Med.Statin.LLDyes         -0.2909307  0.1326474  -2.193   0.0290 *  
Med.all.antiplateletyes   -0.1154407  0.2107264  -0.548   0.5842    
GFR_MDRD                  -0.0029002  0.0031826  -0.911   0.3628    
BMI                       -0.0225756  0.0154863  -1.458   0.1459    
MedHx_CVDyes               0.1236571  0.1198613   1.032   0.3030    
stenose50-70%             -0.3054376  0.8062192  -0.379   0.7050    
stenose70-90%              0.0936706  0.7514915   0.125   0.9009    
stenose90-99%              0.0001116  0.7483940   0.000   0.9999    
stenose100% (Occlusion)   -0.6459878  0.9292270  -0.695   0.4874    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.033 on 325 degrees of freedom
Multiple R-squared:  0.1963,    Adjusted R-squared:  0.1469 
F-statistic:  3.97 on 20 and 325 DF,  p-value: 5.938e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.128893 
Standard error............: 0.057888 
Odds ratio (effect size)..: 1.138 
Lower 95% CI..............: 1.016 
Upper 95% CI..............: 1.274 
T-value...................: 2.226571 
P-value...................: 0.02666097 
R^2.......................: 0.196348 
Adjusted r^2..............: 0.146893 
Sample size of AE DB......: 2423 
Sample size of model......: 346 
Missing data %............: 85.72018 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                 0.33709                   0.22064                  -0.03833                  -0.80238                  -0.29174                  -0.19439                   0.40379  
       Med.Statin.LLDyes  
                -0.25344  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.63838 -0.70165 -0.08193  0.52078  2.79722 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.2905962  0.9344114   0.311   0.7561    
currentDF[, TRAIT]         0.0095505  0.0655021   0.146   0.8842    
Age                        0.0038012  0.0077485   0.491   0.6241    
Gendermale                 0.2187829  0.1340714   1.632   0.1039    
ORdate_year2003           -0.0383301  0.1846649  -0.208   0.8357    
ORdate_year2004           -0.7780182  0.1769541  -4.397 1.61e-05 ***
ORdate_year2005           -0.3004605  0.2627038  -1.144   0.2538    
Hypertension.compositeyes -0.1997055  0.1874088  -1.066   0.2876    
DiabetesStatusDiabetes    -0.0044378  0.1543338  -0.029   0.9771    
SmokerStatusEx-smoker     -0.1956120  0.1331980  -1.469   0.1432    
SmokerStatusNever smoked   0.4453896  0.2175582   2.047   0.0417 *  
Med.Statin.LLDyes         -0.2387781  0.1355027  -1.762   0.0792 .  
Med.all.antiplateletyes   -0.2163693  0.2290059  -0.945   0.3456    
GFR_MDRD                  -0.0005585  0.0036646  -0.152   0.8790    
BMI                       -0.0038806  0.0176449  -0.220   0.8261    
MedHx_CVDyes               0.0983735  0.1297711   0.758   0.4491    
stenose70-90%              0.2470390  0.3553720   0.695   0.4876    
stenose90-99%              0.2329505  0.3505326   0.665   0.5069    
stenose100% (Occlusion)   -0.5871020  0.6987346  -0.840   0.4016    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9666 on 256 degrees of freedom
Multiple R-squared:  0.1982,    Adjusted R-squared:  0.1418 
F-statistic: 3.516 on 18 and 256 DF,  p-value: 3.876e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: 0.009551 
Standard error............: 0.065502 
Odds ratio (effect size)..: 1.01 
Lower 95% CI..............: 0.888 
Upper 95% CI..............: 1.148 
T-value...................: 0.145805 
P-value...................: 0.8841903 
R^2.......................: 0.198205 
Adjusted r^2..............: 0.141829 
Sample size of AE DB......: 2423 
Sample size of model......: 275 
Missing data %............: 88.65043 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Hypertension.composite + 
    SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005  Hypertension.compositeyes      SmokerStatusEx-smoker  
                  0.53494                    0.18159                   -0.08102                   -0.81396                   -0.64206                   -0.25954                   -0.13213  
 SmokerStatusNever smoked          Med.Statin.LLDyes  
                  0.41698                   -0.18531  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.57930 -0.69401 -0.07406  0.52285  2.83752 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.0751604  0.9321075  -0.081   0.9358    
currentDF[, TRAIT]         0.0553538  0.0636632   0.869   0.3854    
Age                        0.0061699  0.0077015   0.801   0.4238    
Gendermale                 0.1828476  0.1299281   1.407   0.1605    
ORdate_year2003            0.0008249  0.1863804   0.004   0.9965    
ORdate_year2004           -0.7333947  0.1743707  -4.206 3.55e-05 ***
ORdate_year2005           -0.5795305  0.2402889  -2.412   0.0165 *  
Hypertension.compositeyes -0.2959402  0.1833444  -1.614   0.1077    
DiabetesStatusDiabetes     0.0554171  0.1497363   0.370   0.7116    
SmokerStatusEx-smoker     -0.1640269  0.1331113  -1.232   0.2189    
SmokerStatusNever smoked   0.4215065  0.2082262   2.024   0.0439 *  
Med.Statin.LLDyes         -0.1807940  0.1329366  -1.360   0.1750    
Med.all.antiplateletyes   -0.1448334  0.2224452  -0.651   0.5155    
GFR_MDRD                  -0.0004322  0.0035500  -0.122   0.9032    
BMI                       -0.0073649  0.0176517  -0.417   0.6768    
MedHx_CVDyes               0.1468281  0.1248119   1.176   0.2405    
stenose70-90%              0.4907985  0.3330821   1.474   0.1418    
stenose90-99%              0.4211277  0.3282834   1.283   0.2007    
stenose100% (Occlusion)    0.1013753  0.7947194   0.128   0.8986    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9608 on 268 degrees of freedom
Multiple R-squared:  0.1899,    Adjusted R-squared:  0.1355 
F-statistic: 3.489 on 18 and 268 DF,  p-value: 4.174e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: 0.055354 
Standard error............: 0.063663 
Odds ratio (effect size)..: 1.057 
Lower 95% CI..............: 0.933 
Upper 95% CI..............: 1.197 
T-value...................: 0.869479 
P-value...................: 0.3853633 
R^2.......................: 0.189866 
Adjusted r^2..............: 0.135454 
Sample size of AE DB......: 2423 
Sample size of model......: 287 
Missing data %............: 88.15518 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.5725              0.1782             -0.2667             -0.9420             -1.0452             -0.5322             -0.2217  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.76141 -0.70470 -0.08326  0.51894  2.88073 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.722592   1.042537   1.652  0.09932 .  
currentDF[, TRAIT]         0.162891   0.054275   3.001  0.00287 ** 
Age                       -0.005644   0.006598  -0.855  0.39287    
Gendermale                 0.105143   0.113903   0.923  0.35656    
ORdate_year2003           -0.281995   0.184166  -1.531  0.12657    
ORdate_year2004           -0.943647   0.175629  -5.373 1.37e-07 ***
ORdate_year2005           -1.074766   0.182496  -5.889 8.68e-09 ***
ORdate_year2006           -0.596854   0.305508  -1.954  0.05149 .  
Hypertension.compositeyes -0.037693   0.155561  -0.242  0.80868    
DiabetesStatusDiabetes     0.153037   0.130143   1.176  0.24038    
SmokerStatusEx-smoker     -0.040902   0.115830  -0.353  0.72420    
SmokerStatusNever smoked   0.276200   0.178380   1.548  0.12238    
Med.Statin.LLDyes         -0.250835   0.120085  -2.089  0.03740 *  
Med.all.antiplateletyes   -0.173681   0.182107  -0.954  0.34084    
GFR_MDRD                  -0.002164   0.002947  -0.734  0.46316    
BMI                       -0.020197   0.014082  -1.434  0.15234    
MedHx_CVDyes               0.100478   0.107994   0.930  0.35277    
stenose50-70%             -0.386836   0.775811  -0.499  0.61834    
stenose70-90%              0.055060   0.728774   0.076  0.93982    
stenose90-99%             -0.068196   0.726977  -0.094  0.92531    
stenose100% (Occlusion)   -0.707558   0.897120  -0.789  0.43079    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.003 on 372 degrees of freedom
Multiple R-squared:  0.1876,    Adjusted R-squared:  0.1439 
F-statistic: 4.294 on 20 and 372 DF,  p-value: 5.588e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.162891 
Standard error............: 0.054275 
Odds ratio (effect size)..: 1.177 
Lower 95% CI..............: 1.058 
Upper 95% CI..............: 1.309 
T-value...................: 3.001209 
P-value...................: 0.002870497 
R^2.......................: 0.187555 
Adjusted r^2..............: 0.143876 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.5602              0.1734             -0.2606             -0.9333             -1.0281             -0.5105             -0.2179  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.74472 -0.71323 -0.04641  0.49905  2.89440 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.780480   1.042882   1.707  0.08860 .  
currentDF[, TRAIT]         0.155569   0.054985   2.829  0.00492 ** 
Age                       -0.006175   0.006565  -0.941  0.34749    
Gendermale                 0.100250   0.113820   0.881  0.37900    
ORdate_year2003           -0.274167   0.183452  -1.494  0.13589    
ORdate_year2004           -0.932796   0.175298  -5.321 1.78e-07 ***
ORdate_year2005           -1.056501   0.181810  -5.811 1.33e-08 ***
ORdate_year2006           -0.575310   0.305741  -1.882  0.06066 .  
Hypertension.compositeyes -0.048920   0.155355  -0.315  0.75302    
DiabetesStatusDiabetes     0.141286   0.129932   1.087  0.27757    
SmokerStatusEx-smoker     -0.035457   0.115546  -0.307  0.75912    
SmokerStatusNever smoked   0.280882   0.178367   1.575  0.11616    
Med.Statin.LLDyes         -0.251159   0.119835  -2.096  0.03677 *  
Med.all.antiplateletyes   -0.169581   0.182074  -0.931  0.35226    
GFR_MDRD                  -0.002220   0.002947  -0.753  0.45172    
BMI                       -0.020806   0.014076  -1.478  0.14022    
MedHx_CVDyes               0.105471   0.107716   0.979  0.32814    
stenose50-70%             -0.403971   0.776561  -0.520  0.60323    
stenose70-90%              0.049451   0.729376   0.068  0.94598    
stenose90-99%             -0.074406   0.727676  -0.102  0.91861    
stenose100% (Occlusion)   -0.751619   0.897644  -0.837  0.40295    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.003 on 373 degrees of freedom
Multiple R-squared:  0.1852,    Adjusted R-squared:  0.1415 
F-statistic: 4.239 on 20 and 373 DF,  p-value: 7.93e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.155569 
Standard error............: 0.054985 
Odds ratio (effect size)..: 1.168 
Lower 95% CI..............: 1.049 
Upper 95% CI..............: 1.301 
T-value...................: 2.829327 
P-value...................: 0.004916738 
R^2.......................: 0.185195 
Adjusted r^2..............: 0.141505 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006     SmokerStatusEx-smoker  
                  0.3637                    0.2289                   -0.1277                   -0.8884                   -0.9027                   -1.1385                   -0.1107  
SmokerStatusNever smoked         Med.Statin.LLDyes  
                  0.3440                   -0.2217  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.63858 -0.69644 -0.07796  0.47717  2.85622 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.851372   1.131368   0.753 0.452362    
currentDF[, TRAIT]         0.038979   0.068294   0.571 0.568620    
Age                       -0.001673   0.007545  -0.222 0.824686    
Gendermale                 0.250001   0.130240   1.920 0.055913 .  
ORdate_year2003           -0.121209   0.183393  -0.661 0.509196    
ORdate_year2004           -0.852312   0.174351  -4.888  1.7e-06 ***
ORdate_year2005           -0.876243   0.224812  -3.898 0.000121 ***
ORdate_year2006           -1.271176   1.032604  -1.231 0.219323    
Hypertension.compositeyes -0.228672   0.184091  -1.242 0.215195    
DiabetesStatusDiabetes     0.043448   0.147395   0.295 0.768383    
SmokerStatusEx-smoker     -0.103727   0.129968  -0.798 0.425478    
SmokerStatusNever smoked   0.413651   0.210344   1.967 0.050205 .  
Med.Statin.LLDyes         -0.217198   0.134334  -1.617 0.107018    
Med.all.antiplateletyes   -0.198811   0.205735  -0.966 0.334693    
GFR_MDRD                  -0.001441   0.003378  -0.427 0.669922    
BMI                       -0.009351   0.016005  -0.584 0.559514    
MedHx_CVDyes               0.116798   0.125085   0.934 0.351222    
stenose50-70%             -0.179490   0.802156  -0.224 0.823104    
stenose70-90%              0.300988   0.733562   0.410 0.681887    
stenose90-99%              0.202014   0.730792   0.276 0.782417    
stenose100% (Occlusion)   -0.132248   1.054680  -0.125 0.900302    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9903 on 285 degrees of freedom
Multiple R-squared:  0.1963,    Adjusted R-squared:  0.1399 
F-statistic:  3.48 on 20 and 285 DF,  p-value: 1.572e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: 0.038979 
Standard error............: 0.068294 
Odds ratio (effect size)..: 1.04 
Lower 95% CI..............: 0.909 
Upper 95% CI..............: 1.189 
T-value...................: 0.570748 
P-value...................: 0.5686202 
R^2.......................: 0.196264 
Adjusted r^2..............: 0.139861 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)    ORdate_year2003    ORdate_year2004    ORdate_year2005  Med.Statin.LLDyes  
          0.44481           -0.09529           -0.82628           -0.75169           -0.21008  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.72939 -0.65759 -0.06138  0.54275  2.77535 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.0648327  0.9110613   0.071  0.94332    
currentDF[, TRAIT]         0.0283568  0.0641477   0.442  0.65882    
Age                        0.0023729  0.0075799   0.313  0.75450    
Gendermale                 0.1764500  0.1303642   1.354  0.17707    
ORdate_year2003           -0.0698361  0.1885300  -0.370  0.71137    
ORdate_year2004           -0.7708772  0.1835629  -4.200 3.68e-05 ***
ORdate_year2005           -0.7656403  0.2347234  -3.262  0.00125 ** 
Hypertension.compositeyes -0.2170170  0.1809287  -1.199  0.23144    
DiabetesStatusDiabetes    -0.1048371  0.1491450  -0.703  0.48273    
SmokerStatusEx-smoker     -0.0874939  0.1323019  -0.661  0.50899    
SmokerStatusNever smoked   0.3729099  0.2117298   1.761  0.07937 .  
Med.Statin.LLDyes         -0.1990821  0.1318797  -1.510  0.13237    
Med.all.antiplateletyes   -0.0924533  0.2254802  -0.410  0.68212    
GFR_MDRD                   0.0000391  0.0035131   0.011  0.99113    
BMI                       -0.0053743  0.0177154  -0.303  0.76185    
MedHx_CVDyes               0.1303118  0.1259050   1.035  0.30163    
stenose70-90%              0.4740739  0.3323083   1.427  0.15489    
stenose90-99%              0.4150146  0.3273037   1.268  0.20594    
stenose100% (Occlusion)    0.1304452  0.7915810   0.165  0.86924    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9509 on 260 degrees of freedom
Multiple R-squared:  0.1857,    Adjusted R-squared:  0.1293 
F-statistic: 3.294 on 18 and 260 DF,  p-value: 1.273e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: 0.028357 
Standard error............: 0.064148 
Odds ratio (effect size)..: 1.029 
Lower 95% CI..............: 0.907 
Upper 95% CI..............: 1.167 
T-value...................: 0.442055 
P-value...................: 0.6588167 
R^2.......................: 0.185702 
Adjusted r^2..............: 0.129328 
Sample size of AE DB......: 2423 
Sample size of model......: 279 
Missing data %............: 88.48535 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes  
           0.4907            -0.1792            -0.8373            -0.9546            -0.5377            -0.2120  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6993 -0.7283 -0.0810  0.5001  2.9626 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.680128   1.052862   1.596   0.1114    
currentDF[, TRAIT]         0.046949   0.061646   0.762   0.4468    
Age                       -0.008214   0.006595  -1.245   0.2138    
Gendermale                 0.129088   0.114716   1.125   0.2612    
ORdate_year2003           -0.208715   0.183733  -1.136   0.2567    
ORdate_year2004           -0.807068   0.182864  -4.413 1.33e-05 ***
ORdate_year2005           -0.949932   0.188950  -5.027 7.73e-07 ***
ORdate_year2006           -0.555638   0.316398  -1.756   0.0799 .  
Hypertension.compositeyes -0.059883   0.156913  -0.382   0.7030    
DiabetesStatusDiabetes     0.141402   0.132437   1.068   0.2864    
SmokerStatusEx-smoker     -0.002352   0.116840  -0.020   0.9839    
SmokerStatusNever smoked   0.349230   0.178971   1.951   0.0518 .  
Med.Statin.LLDyes         -0.251522   0.121048  -2.078   0.0384 *  
Med.all.antiplateletyes   -0.160095   0.184344  -0.868   0.3857    
GFR_MDRD                  -0.002345   0.003004  -0.781   0.4355    
BMI                       -0.022242   0.014241  -1.562   0.1192    
MedHx_CVDyes               0.107051   0.109025   0.982   0.3268    
stenose50-70%             -0.270619   0.783302  -0.345   0.7299    
stenose70-90%              0.201540   0.735087   0.274   0.7841    
stenose90-99%              0.087317   0.733428   0.119   0.9053    
stenose100% (Occlusion)   -0.688574   0.906695  -0.759   0.4481    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.013 on 373 degrees of freedom
Multiple R-squared:  0.169, Adjusted R-squared:  0.1244 
F-statistic: 3.793 on 20 and 373 DF,  p-value: 1.408e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.046949 
Standard error............: 0.061646 
Odds ratio (effect size)..: 1.048 
Lower 95% CI..............: 0.929 
Upper 95% CI..............: 1.183 
T-value...................: 0.761587 
P-value...................: 0.4467877 
R^2.......................: 0.169 
Adjusted r^2..............: 0.124442 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.3838              0.2201             -0.1526             -0.7192             -0.8292             -0.3399             -0.1938  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.96517 -0.70768 -0.07711  0.50094  2.88155 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.299829   1.040748   1.249   0.2125    
currentDF[, TRAIT]         0.204449   0.051886   3.940 9.73e-05 ***
Age                       -0.007225   0.006549  -1.103   0.2706    
Gendermale                 0.093016   0.113954   0.816   0.4149    
ORdate_year2003           -0.176593   0.181410  -0.973   0.3310    
ORdate_year2004           -0.736107   0.173401  -4.245 2.77e-05 ***
ORdate_year2005           -0.866819   0.180958  -4.790 2.42e-06 ***
ORdate_year2006           -0.415840   0.306640  -1.356   0.1759    
Hypertension.compositeyes -0.030602   0.154593  -0.198   0.8432    
DiabetesStatusDiabetes     0.181716   0.130368   1.394   0.1642    
SmokerStatusEx-smoker     -0.008339   0.114845  -0.073   0.9422    
SmokerStatusNever smoked   0.304681   0.176004   1.731   0.0843 .  
Med.Statin.LLDyes         -0.227400   0.119381  -1.905   0.0576 .  
Med.all.antiplateletyes   -0.132302   0.185679  -0.713   0.4766    
GFR_MDRD                  -0.002579   0.002928  -0.881   0.3790    
BMI                       -0.016896   0.014069  -1.201   0.2306    
MedHx_CVDyes               0.090760   0.107615   0.843   0.3996    
stenose50-70%             -0.176470   0.767277  -0.230   0.8182    
stenose70-90%              0.273598   0.719635   0.380   0.7040    
stenose90-99%              0.190775   0.717461   0.266   0.7905    
stenose100% (Occlusion)   -0.362846   0.891843  -0.407   0.6844    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9936 on 369 degrees of freedom
Multiple R-squared:  0.1993,    Adjusted R-squared:  0.1559 
F-statistic: 4.593 on 20 and 369 DF,  p-value: 8.219e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.204449 
Standard error............: 0.051886 
Odds ratio (effect size)..: 1.227 
Lower 95% CI..............: 1.108 
Upper 95% CI..............: 1.358 
T-value...................: 3.940347 
P-value...................: 9.731753e-05 
R^2.......................: 0.199309 
Adjusted r^2..............: 0.155911 
Sample size of AE DB......: 2423 
Sample size of model......: 390 
Missing data %............: 83.90425 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes       Med.Statin.LLDyes  
                0.5181                  0.1929                 -0.1537                 -0.9223                 -0.9807                 -0.4557                  0.2157                 -0.2850  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.69866 -0.73871 -0.07332  0.50985  2.96138 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.938879   1.085113   1.787  0.07487 .  
currentDF[, TRAIT]         0.181772   0.058002   3.134  0.00188 ** 
Age                       -0.007201   0.007114  -1.012  0.31218    
Gendermale                 0.117253   0.123533   0.949  0.34322    
ORdate_year2003           -0.192728   0.193593  -0.996  0.32019    
ORdate_year2004           -0.936920   0.180287  -5.197 3.53e-07 ***
ORdate_year2005           -1.006058   0.184628  -5.449 9.81e-08 ***
ORdate_year2006           -0.515378   0.313164  -1.646  0.10076    
Hypertension.compositeyes -0.135438   0.167816  -0.807  0.42020    
DiabetesStatusDiabetes     0.233291   0.140881   1.656  0.09867 .  
SmokerStatusEx-smoker     -0.056423   0.124841  -0.452  0.65159    
SmokerStatusNever smoked   0.258104   0.187207   1.379  0.16890    
Med.Statin.LLDyes         -0.301353   0.129154  -2.333  0.02022 *  
Med.all.antiplateletyes   -0.138251   0.204422  -0.676  0.49932    
GFR_MDRD                  -0.002402   0.003079  -0.780  0.43581    
BMI                       -0.020301   0.014892  -1.363  0.17374    
MedHx_CVDyes               0.110613   0.116709   0.948  0.34393    
stenose50-70%             -0.423963   0.799266  -0.530  0.59616    
stenose70-90%             -0.036792   0.745454  -0.049  0.96067    
stenose90-99%             -0.137485   0.743131  -0.185  0.85333    
stenose100% (Occlusion)   -0.772043   0.919442  -0.840  0.40168    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.022 on 336 degrees of freedom
Multiple R-squared:  0.1996,    Adjusted R-squared:  0.152 
F-statistic:  4.19 on 20 and 336 DF,  p-value: 1.375e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.181772 
Standard error............: 0.058002 
Odds ratio (effect size)..: 1.199 
Lower 95% CI..............: 1.07 
Upper 95% CI..............: 1.344 
T-value...................: 3.13386 
P-value...................: 0.001877172 
R^2.......................: 0.199627 
Adjusted r^2..............: 0.151985 
Sample size of AE DB......: 2423 
Sample size of model......: 357 
Missing data %............: 85.2662 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes  
           0.5043            -0.1838            -0.8282            -0.9519            -0.5300            -0.2334  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7262 -0.7430 -0.0855  0.5231  2.9569 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.730494   1.064620   1.625   0.1049    
currentDF[, TRAIT]         0.008130   0.059408   0.137   0.8912    
Age                       -0.008959   0.006709  -1.335   0.1826    
Gendermale                 0.130437   0.117319   1.112   0.2669    
ORdate_year2003           -0.216998   0.191028  -1.136   0.2567    
ORdate_year2004           -0.831820   0.193734  -4.294 2.25e-05 ***
ORdate_year2005           -0.975780   0.195300  -4.996 9.07e-07 ***
ORdate_year2006           -0.596100   0.317826  -1.876   0.0615 .  
Hypertension.compositeyes -0.091521   0.160298  -0.571   0.5684    
DiabetesStatusDiabetes     0.144676   0.135147   1.071   0.2851    
SmokerStatusEx-smoker      0.005664   0.117991   0.048   0.9617    
SmokerStatusNever smoked   0.353664   0.180342   1.961   0.0506 .  
Med.Statin.LLDyes         -0.269661   0.122627  -2.199   0.0285 *  
Med.all.antiplateletyes   -0.127879   0.190788  -0.670   0.5031    
GFR_MDRD                  -0.003027   0.003008  -1.006   0.3151    
BMI                       -0.020908   0.014417  -1.450   0.1478    
MedHx_CVDyes               0.114884   0.110980   1.035   0.3013    
stenose50-70%             -0.267149   0.790312  -0.338   0.7355    
stenose70-90%              0.219543   0.737923   0.298   0.7662    
stenose90-99%              0.129344   0.735217   0.176   0.8604    
stenose100% (Occlusion)   -0.664077   0.913809  -0.727   0.4679    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.018 on 366 degrees of freedom
Multiple R-squared:  0.1662,    Adjusted R-squared:  0.1206 
F-statistic: 3.647 on 20 and 366 DF,  p-value: 3.682e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.00813 
Standard error............: 0.059408 
Odds ratio (effect size)..: 1.008 
Lower 95% CI..............: 0.897 
Upper 95% CI..............: 1.133 
T-value...................: 0.136851 
P-value...................: 0.891224 
R^2.......................: 0.166181 
Adjusted r^2..............: 0.120617 
Sample size of AE DB......: 2423 
Sample size of model......: 387 
Missing data %............: 84.02806 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.5787              0.1479             -0.1903             -0.9450             -1.0577             -0.6136             -0.2347  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7582 -0.7231 -0.1288  0.5131  2.9314 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.903214   1.062462   1.791   0.0741 .  
currentDF[, TRAIT]         0.134381   0.058291   2.305   0.0217 *  
Age                       -0.007099   0.006812  -1.042   0.2980    
Gendermale                 0.095824   0.116675   0.821   0.4120    
ORdate_year2003           -0.220460   0.185353  -1.189   0.2351    
ORdate_year2004           -0.950210   0.180844  -5.254 2.54e-07 ***
ORdate_year2005           -1.080077   0.187677  -5.755 1.85e-08 ***
ORdate_year2006           -0.675508   0.310581  -2.175   0.0303 *  
Hypertension.compositeyes -0.069152   0.159592  -0.433   0.6651    
DiabetesStatusDiabetes     0.174465   0.134213   1.300   0.1945    
SmokerStatusEx-smoker     -0.038212   0.118686  -0.322   0.7477    
SmokerStatusNever smoked   0.233249   0.184215   1.266   0.2063    
Med.Statin.LLDyes         -0.270750   0.122713  -2.206   0.0280 *  
Med.all.antiplateletyes   -0.199282   0.187343  -1.064   0.2882    
GFR_MDRD                  -0.002729   0.002998  -0.910   0.3632    
BMI                       -0.019773   0.014343  -1.379   0.1689    
MedHx_CVDyes               0.082975   0.111227   0.746   0.4562    
stenose50-70%             -0.403205   0.788862  -0.511   0.6096    
stenose70-90%              0.074402   0.737564   0.101   0.9197    
stenose90-99%             -0.033596   0.735567  -0.046   0.9636    
stenose100% (Occlusion)   -0.782111   0.909254  -0.860   0.3903    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.014 on 362 degrees of freedom
Multiple R-squared:  0.1787,    Adjusted R-squared:  0.1334 
F-statistic: 3.939 on 20 and 362 DF,  p-value: 5.824e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.134381 
Standard error............: 0.058291 
Odds ratio (effect size)..: 1.144 
Lower 95% CI..............: 1.02 
Upper 95% CI..............: 1.282 
T-value...................: 2.30534 
P-value...................: 0.0217124 
R^2.......................: 0.17873 
Adjusted r^2..............: 0.133356 
Sample size of AE DB......: 2423 
Sample size of model......: 383 
Missing data %............: 84.19315 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD + MedHx_CVD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes       Med.Statin.LLDyes  
                0.3802                  0.1763                 -0.1781                 -0.8910                 -0.9479                 -0.5493                  0.2232                 -0.2870  
          MedHx_CVDyes  
                0.1828  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.64753 -0.69308 -0.07575  0.55971  2.83321 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.494848   1.084296   1.379  0.16894    
currentDF[, TRAIT]         0.170110   0.056428   3.015  0.00277 ** 
Age                       -0.004673   0.007118  -0.657  0.51192    
Gendermale                 0.134742   0.120729   1.116  0.26520    
ORdate_year2003           -0.203479   0.190220  -1.070  0.28554    
ORdate_year2004           -0.904104   0.177001  -5.108 5.53e-07 ***
ORdate_year2005           -0.952862   0.182600  -5.218 3.20e-07 ***
ORdate_year2006           -0.616887   0.325492  -1.895  0.05894 .  
Hypertension.compositeyes -0.120591   0.165613  -0.728  0.46704    
DiabetesStatusDiabetes     0.222226   0.140773   1.579  0.11539    
SmokerStatusEx-smoker     -0.064378   0.124466  -0.517  0.60534    
SmokerStatusNever smoked   0.121339   0.193670   0.627  0.53141    
Med.Statin.LLDyes         -0.301178   0.127165  -2.368  0.01844 *  
Med.all.antiplateletyes   -0.173854   0.191737  -0.907  0.36521    
GFR_MDRD                  -0.003545   0.003106  -1.141  0.25462    
BMI                       -0.015537   0.014891  -1.043  0.29752    
MedHx_CVDyes               0.193807   0.115193   1.682  0.09343 .  
stenose50-70%             -0.281187   0.781887  -0.360  0.71936    
stenose70-90%              0.157402   0.731392   0.215  0.82974    
stenose90-99%              0.031491   0.728418   0.043  0.96554    
stenose100% (Occlusion)   -0.501814   0.902643  -0.556  0.57863    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.006 on 329 degrees of freedom
Multiple R-squared:  0.2002,    Adjusted R-squared:  0.1515 
F-statistic: 4.117 on 20 and 329 DF,  p-value: 2.295e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.17011 
Standard error............: 0.056428 
Odds ratio (effect size)..: 1.185 
Lower 95% CI..............: 1.061 
Upper 95% CI..............: 1.324 
T-value...................: 3.014663 
P-value...................: 0.00277265 
R^2.......................: 0.200171 
Adjusted r^2..............: 0.151549 
Sample size of AE DB......: 2423 
Sample size of model......: 350 
Missing data %............: 85.5551 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.5358              0.1412             -0.2025             -0.9222             -1.0161             -0.5359             -0.2101  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.79922 -0.72633 -0.08739  0.48454  2.92510 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.778813   1.048267   1.697   0.0905 .  
currentDF[, TRAIT]         0.118353   0.056735   2.086   0.0377 *  
Age                       -0.007062   0.006582  -1.073   0.2840    
Gendermale                 0.100448   0.114986   0.874   0.3829    
ORdate_year2003           -0.223401   0.182965  -1.221   0.2229    
ORdate_year2004           -0.918054   0.176746  -5.194 3.39e-07 ***
ORdate_year2005           -1.041671   0.182868  -5.696 2.49e-08 ***
ORdate_year2006           -0.598229   0.307028  -1.948   0.0521 .  
Hypertension.compositeyes -0.055514   0.156067  -0.356   0.7223    
DiabetesStatusDiabetes     0.133996   0.130504   1.027   0.3052    
SmokerStatusEx-smoker     -0.027858   0.116064  -0.240   0.8104    
SmokerStatusNever smoked   0.293783   0.179419   1.637   0.1024    
Med.Statin.LLDyes         -0.245536   0.120427  -2.039   0.0422 *  
Med.all.antiplateletyes   -0.167073   0.183016  -0.913   0.3619    
GFR_MDRD                  -0.002269   0.002963  -0.766   0.4443    
BMI                       -0.020942   0.014145  -1.481   0.1396    
MedHx_CVDyes               0.106228   0.108252   0.981   0.3271    
stenose50-70%             -0.361011   0.780339  -0.463   0.6439    
stenose70-90%              0.092246   0.733174   0.126   0.8999    
stenose90-99%             -0.027717   0.731505  -0.038   0.9698    
stenose100% (Occlusion)   -0.749429   0.902408  -0.830   0.4068    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.008 on 373 degrees of freedom
Multiple R-squared:  0.1773,    Adjusted R-squared:  0.1332 
F-statistic: 4.019 on 20 and 373 DF,  p-value: 3.277e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.118353 
Standard error............: 0.056735 
Odds ratio (effect size)..: 1.126 
Lower 95% CI..............: 1.007 
Upper 95% CI..............: 1.258 
T-value...................: 2.08606 
P-value...................: 0.03765211 
R^2.......................: 0.177306 
Adjusted r^2..............: 0.133194 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.6434              0.1146             -0.3104             -0.9412             -1.0313             -0.6299             -0.2696  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.70514 -0.67487 -0.08392  0.48463  2.94524 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.275473   1.115634   2.040 0.042222 *  
currentDF[, TRAIT]         0.095182   0.060142   1.583 0.114515    
Age                       -0.009597   0.007062  -1.359 0.175153    
Gendermale                 0.112625   0.123514   0.912 0.362553    
ORdate_year2003           -0.359253   0.293941  -1.222 0.222547    
ORdate_year2004           -0.970165   0.288817  -3.359 0.000878 ***
ORdate_year2005           -1.068921   0.294339  -3.632 0.000329 ***
ORdate_year2006           -0.722020   0.383646  -1.882 0.060759 .  
Hypertension.compositeyes -0.133751   0.166714  -0.802 0.422996    
DiabetesStatusDiabetes     0.144731   0.142820   1.013 0.311659    
SmokerStatusEx-smoker     -0.002949   0.126213  -0.023 0.981373    
SmokerStatusNever smoked   0.290877   0.186851   1.557 0.120538    
Med.Statin.LLDyes         -0.310170   0.133677  -2.320 0.020963 *  
Med.all.antiplateletyes   -0.103190   0.199212  -0.518 0.604828    
GFR_MDRD                  -0.004520   0.003276  -1.380 0.168594    
BMI                       -0.024855   0.015564  -1.597 0.111287    
MedHx_CVDyes               0.056964   0.118736   0.480 0.631736    
stenose50-70%             -0.239195   0.786943  -0.304 0.761363    
stenose70-90%              0.172702   0.732718   0.236 0.813818    
stenose90-99%              0.057089   0.730707   0.078 0.937775    
stenose100% (Occlusion)   -0.715946   0.907820  -0.789 0.430914    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.008 on 315 degrees of freedom
Multiple R-squared:  0.174, Adjusted R-squared:  0.1215 
F-statistic: 3.317 on 20 and 315 DF,  p-value: 3.613e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.095182 
Standard error............: 0.060142 
Odds ratio (effect size)..: 1.1 
Lower 95% CI..............: 0.978 
Upper 95% CI..............: 1.237 
T-value...................: 1.582607 
P-value...................: 0.1145146 
R^2.......................: 0.173985 
Adjusted r^2..............: 0.121539 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes  
           0.4907            -0.1792            -0.8373            -0.9546            -0.5377            -0.2120  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.71989 -0.70730 -0.06164  0.53611  2.99389 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.582978   1.058690   1.495   0.1357    
currentDF[, TRAIT]         0.055248   0.058467   0.945   0.3453    
Age                       -0.008333   0.006576  -1.267   0.2059    
Gendermale                 0.135924   0.114135   1.191   0.2345    
ORdate_year2003           -0.193724   0.184212  -1.052   0.2936    
ORdate_year2004           -0.789544   0.185321  -4.260 2.59e-05 ***
ORdate_year2005           -0.943846   0.187988  -5.021 7.99e-07 ***
ORdate_year2006           -0.552955   0.314061  -1.761   0.0791 .  
Hypertension.compositeyes -0.051805   0.157307  -0.329   0.7421    
DiabetesStatusDiabetes     0.141310   0.131912   1.071   0.2848    
SmokerStatusEx-smoker     -0.009240   0.116308  -0.079   0.9367    
SmokerStatusNever smoked   0.336778   0.178808   1.883   0.0604 .  
Med.Statin.LLDyes         -0.251248   0.120982  -2.077   0.0385 *  
Med.all.antiplateletyes   -0.135417   0.184170  -0.735   0.4626    
GFR_MDRD                  -0.002432   0.002982  -0.815   0.4153    
BMI                       -0.021537   0.014207  -1.516   0.1304    
MedHx_CVDyes               0.109082   0.108780   1.003   0.3166    
stenose50-70%             -0.205673   0.782224  -0.263   0.7927    
stenose70-90%              0.249242   0.733280   0.340   0.7341    
stenose90-99%              0.137892   0.730953   0.189   0.8505    
stenose100% (Occlusion)   -0.587729   0.908806  -0.647   0.5182    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.013 on 373 degrees of freedom
Multiple R-squared:  0.1697,    Adjusted R-squared:  0.1252 
F-statistic: 3.812 on 20 and 373 DF,  p-value: 1.248e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.055248 
Standard error............: 0.058467 
Odds ratio (effect size)..: 1.057 
Lower 95% CI..............: 0.942 
Upper 95% CI..............: 1.185 
T-value...................: 0.944933 
P-value...................: 0.3453049 
R^2.......................: 0.169695 
Adjusted r^2..............: 0.125175 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + DiabetesStatus + 
    Med.Statin.LLD + BMI, data = currentDF)

Coefficients:
           (Intercept)         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes       Med.Statin.LLDyes                     BMI  
                1.0660                 -0.1306                 -0.8854                 -0.9787                 -0.5573                  0.2704                 -0.2841                 -0.0211  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6682 -0.7517 -0.0666  0.5286  2.8390 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.017526   1.097071   1.839   0.0668 .  
currentDF[, TRAIT]         0.049143   0.061012   0.805   0.4211    
Age                       -0.010295   0.007075  -1.455   0.1466    
Gendermale                 0.151610   0.124352   1.219   0.2236    
ORdate_year2003           -0.136186   0.199195  -0.684   0.4947    
ORdate_year2004           -0.851408   0.188467  -4.518 8.70e-06 ***
ORdate_year2005           -0.942065   0.195478  -4.819 2.19e-06 ***
ORdate_year2006           -0.549932   0.325160  -1.691   0.0917 .  
Hypertension.compositeyes -0.142185   0.170424  -0.834   0.4047    
DiabetesStatusDiabetes     0.258436   0.144449   1.789   0.0745 .  
SmokerStatusEx-smoker      0.010200   0.125640   0.081   0.9353    
SmokerStatusNever smoked   0.328893   0.189214   1.738   0.0831 .  
Med.Statin.LLDyes         -0.309887   0.129911  -2.385   0.0176 *  
Med.all.antiplateletyes   -0.120409   0.210565  -0.572   0.5678    
GFR_MDRD                  -0.003111   0.003148  -0.988   0.3237    
BMI                       -0.024950   0.015108  -1.651   0.0996 .  
MedHx_CVDyes               0.126197   0.118093   1.069   0.2860    
stenose50-70%             -0.267914   0.805407  -0.333   0.7396    
stenose70-90%              0.140971   0.750838   0.188   0.8512    
stenose90-99%              0.036436   0.748580   0.049   0.9612    
stenose100% (Occlusion)   -0.694186   0.927480  -0.748   0.4547    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.032 on 333 degrees of freedom
Multiple R-squared:  0.1886,    Adjusted R-squared:  0.1399 
F-statistic:  3.87 on 20 and 333 DF,  p-value: 1.061e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.049143 
Standard error............: 0.061012 
Odds ratio (effect size)..: 1.05 
Lower 95% CI..............: 0.932 
Upper 95% CI..............: 1.184 
T-value...................: 0.805466 
P-value...................: 0.4211255 
R^2.......................: 0.188602 
Adjusted r^2..............: 0.139869 
Sample size of AE DB......: 2423 
Sample size of model......: 354 
Missing data %............: 85.39001 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
            0.4541              0.1759             -0.1394             -0.7648             -0.9414             -0.5343             -0.2155  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.56004 -0.72629 -0.08267  0.50532  2.97681 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.502427   1.041544   1.443  0.15000    
currentDF[, TRAIT]         0.170223   0.051788   3.287  0.00111 ** 
Age                       -0.006450   0.006544  -0.986  0.32496    
Gendermale                 0.096191   0.113815   0.845  0.39857    
ORdate_year2003           -0.159682   0.182380  -0.876  0.38184    
ORdate_year2004           -0.775990   0.173748  -4.466 1.06e-05 ***
ORdate_year2005           -0.973546   0.179835  -5.414 1.11e-07 ***
ORdate_year2006           -0.594052   0.304798  -1.949  0.05205 .  
Hypertension.compositeyes -0.017145   0.155594  -0.110  0.91232    
DiabetesStatusDiabetes     0.162778   0.130007   1.252  0.21133    
SmokerStatusEx-smoker     -0.037535   0.115396  -0.325  0.74516    
SmokerStatusNever smoked   0.301494   0.177048   1.703  0.08942 .  
Med.Statin.LLDyes         -0.245153   0.119820  -2.046  0.04146 *  
Med.all.antiplateletyes   -0.189167   0.181909  -1.040  0.29906    
GFR_MDRD                  -0.002569   0.002935  -0.875  0.38204    
BMI                       -0.019096   0.014062  -1.358  0.17529    
MedHx_CVDyes               0.107587   0.107691   0.999  0.31843    
stenose50-70%             -0.248591   0.772385  -0.322  0.74775    
stenose70-90%              0.203190   0.724634   0.280  0.77932    
stenose90-99%              0.086274   0.722408   0.119  0.90500    
stenose100% (Occlusion)   -0.494402   0.896347  -0.552  0.58157    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.001 on 372 degrees of freedom
Multiple R-squared:  0.1914,    Adjusted R-squared:  0.1479 
F-statistic: 4.402 on 20 and 372 DF,  p-value: 2.775e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.170223 
Standard error............: 0.051788 
Odds ratio (effect size)..: 1.186 
Lower 95% CI..............: 1.071 
Upper 95% CI..............: 1.312 
T-value...................: 3.286933 
P-value...................: 0.001109227 
R^2.......................: 0.191369 
Adjusted r^2..............: 0.147894 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
           0.45999             0.08008            -0.18889            -0.79356            -0.91768            -0.45903            -0.20831  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.72217 -0.74290 -0.05725  0.50541  2.94304 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.631052   1.053147   1.549   0.1223    
currentDF[, TRAIT]         0.061805   0.054509   1.134   0.2576    
Age                       -0.007493   0.006643  -1.128   0.2601    
Gendermale                 0.131753   0.114178   1.154   0.2493    
ORdate_year2003           -0.214109   0.183648  -1.166   0.2444    
ORdate_year2004           -0.816299   0.176645  -4.621 5.27e-06 ***
ORdate_year2005           -0.964273   0.183090  -5.267 2.35e-07 ***
ORdate_year2006           -0.552143   0.312297  -1.768   0.0779 .  
Hypertension.compositeyes -0.064175   0.156644  -0.410   0.6823    
DiabetesStatusDiabetes     0.141312   0.131586   1.074   0.2836    
SmokerStatusEx-smoker     -0.010652   0.116239  -0.092   0.9270    
SmokerStatusNever smoked   0.329674   0.178975   1.842   0.0663 .  
Med.Statin.LLDyes         -0.244354   0.120989  -2.020   0.0441 *  
Med.all.antiplateletyes   -0.146623   0.183556  -0.799   0.4249    
GFR_MDRD                  -0.002363   0.002982  -0.793   0.4285    
BMI                       -0.021974   0.014204  -1.547   0.1227    
MedHx_CVDyes               0.101761   0.109094   0.933   0.3515    
stenose50-70%             -0.280886   0.782223  -0.359   0.7197    
stenose70-90%              0.197621   0.733684   0.269   0.7878    
stenose90-99%              0.084679   0.731653   0.116   0.9079    
stenose100% (Occlusion)   -0.654211   0.905096  -0.723   0.4703    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.012 on 373 degrees of freedom
Multiple R-squared:  0.1706,    Adjusted R-squared:  0.1261 
F-statistic: 3.835 on 20 and 373 DF,  p-value: 1.072e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.061805 
Standard error............: 0.054509 
Odds ratio (effect size)..: 1.064 
Lower 95% CI..............: 0.956 
Upper 95% CI..............: 1.184 
T-value...................: 1.133852 
P-value...................: 0.2575848 
R^2.......................: 0.170567 
Adjusted r^2..............: 0.126093 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    SmokerStatus + BMI + stenose, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006     SmokerStatusEx-smoker  
                  0.3100                    0.1488                   -0.3608                   -0.9321                   -1.3793                   -0.9478                   -0.1011  
SmokerStatusNever smoked                       BMI             stenose50-70%             stenose70-90%             stenose90-99%   stenose100% (Occlusion)  
                  0.4006                   -0.0233                    0.2856                    0.9884                    0.7546                    0.1185  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6193 -0.6751 -0.1247  0.4215  2.9367 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.266875   1.269215   0.998  0.31898    
currentDF[, TRAIT]         0.128407   0.060387   2.126  0.03426 *  
Age                       -0.006138   0.006893  -0.890  0.37390    
Gendermale                 0.165612   0.120365   1.376  0.16984    
ORdate_year2003           -0.349780   0.208964  -1.674  0.09517 .  
ORdate_year2004           -0.914493   0.194461  -4.703 3.88e-06 ***
ORdate_year2005           -1.304618   0.224342  -5.815 1.51e-08 ***
ORdate_year2006           -0.932227   0.340409  -2.739  0.00653 ** 
Hypertension.compositeyes -0.139406   0.168713  -0.826  0.40928    
DiabetesStatusDiabetes     0.010712   0.135134   0.079  0.93687    
SmokerStatusEx-smoker     -0.079150   0.120710  -0.656  0.51250    
SmokerStatusNever smoked   0.442442   0.191914   2.305  0.02181 *  
Med.Statin.LLDyes         -0.157909   0.124858  -1.265  0.20693    
Med.all.antiplateletyes   -0.197183   0.181708  -1.085  0.27869    
GFR_MDRD                  -0.004177   0.002940  -1.421  0.15635    
BMI                       -0.023773   0.015059  -1.579  0.11544    
MedHx_CVDyes               0.029898   0.114860   0.260  0.79480    
stenose50-70%              0.285074   1.019628   0.280  0.77998    
stenose70-90%              0.975034   0.977541   0.997  0.31933    
stenose90-99%              0.751462   0.976169   0.770  0.44200    
stenose100% (Occlusion)   -0.055368   1.100367  -0.050  0.95990    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9635 on 309 degrees of freedom
Multiple R-squared:   0.22, Adjusted R-squared:  0.1695 
F-statistic: 4.357 on 20 and 309 DF,  p-value: 5.937e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.128407 
Standard error............: 0.060387 
Odds ratio (effect size)..: 1.137 
Lower 95% CI..............: 1.01 
Upper 95% CI..............: 1.28 
T-value...................: 2.126402 
P-value...................: 0.03426216 
R^2.......................: 0.219972 
Adjusted r^2..............: 0.169484 
Sample size of AE DB......: 2423 
Sample size of model......: 330 
Missing data %............: 86.38052 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes  
           0.4553            -0.1408            -0.8167            -0.9427            -0.3630            -0.1914  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7152 -0.7370 -0.0852  0.5230  2.9586 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.612565   1.069448   1.508   0.1325    
currentDF[, TRAIT]         0.050009   0.054993   0.909   0.3638    
Age                       -0.009335   0.006772  -1.379   0.1689    
Gendermale                 0.121694   0.117955   1.032   0.3029    
ORdate_year2003           -0.147139   0.185496  -0.793   0.4282    
ORdate_year2004           -0.774720   0.180851  -4.284 2.36e-05 ***
ORdate_year2005           -0.932096   0.185232  -5.032 7.65e-07 ***
ORdate_year2006           -0.428655   0.341954  -1.254   0.2108    
Hypertension.compositeyes -0.061508   0.159534  -0.386   0.7001    
DiabetesStatusDiabetes     0.114689   0.133280   0.861   0.3901    
SmokerStatusEx-smoker      0.020781   0.118565   0.175   0.8610    
SmokerStatusNever smoked   0.399602   0.184185   2.170   0.0307 *  
Med.Statin.LLDyes         -0.225852   0.123685  -1.826   0.0687 .  
Med.all.antiplateletyes   -0.129311   0.188424  -0.686   0.4930    
GFR_MDRD                  -0.003083   0.003051  -1.011   0.3128    
BMI                       -0.018662   0.014647  -1.274   0.2034    
MedHx_CVDyes               0.110727   0.111240   0.995   0.3202    
stenose50-70%             -0.295659   0.786820  -0.376   0.7073    
stenose70-90%              0.217406   0.740455   0.294   0.7692    
stenose90-99%              0.115940   0.737987   0.157   0.8753    
stenose100% (Occlusion)   -0.670250   0.914891  -0.733   0.4643    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.021 on 363 degrees of freedom
Multiple R-squared:  0.1711,    Adjusted R-squared:  0.1254 
F-statistic: 3.745 on 20 and 363 DF,  p-value: 1.999e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.050009 
Standard error............: 0.054993 
Odds ratio (effect size)..: 1.051 
Lower 95% CI..............: 0.944 
Upper 95% CI..............: 1.171 
T-value...................: 0.909377 
P-value...................: 0.3637543 
R^2.......................: 0.171053 
Adjusted r^2..............: 0.125381 
Sample size of AE DB......: 2423 
Sample size of model......: 384 
Missing data %............: 84.15188 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006  
                 0.17137                   0.15534                   0.20248                  -0.17393                  -0.81053                  -1.01097                  -0.41949  
   SmokerStatusEx-smoker  SmokerStatusNever smoked  
                -0.05357                   0.32333  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9387 -0.7245 -0.0918  0.5180  3.2271 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.533993   1.059548   1.448   0.1485    
currentDF[, TRAIT]         0.141513   0.057312   2.469   0.0140 *  
Age                       -0.008048   0.006581  -1.223   0.2222    
Gendermale                 0.206418   0.114801   1.798   0.0730 .  
ORdate_year2003           -0.183477   0.178759  -1.026   0.3054    
ORdate_year2004           -0.791539   0.171970  -4.603 5.75e-06 ***
ORdate_year2005           -0.975472   0.179534  -5.433 1.01e-07 ***
ORdate_year2006           -0.356392   0.608923  -0.585   0.5587    
Hypertension.compositeyes -0.012672   0.161285  -0.079   0.9374    
DiabetesStatusDiabetes     0.076327   0.130278   0.586   0.5583    
SmokerStatusEx-smoker     -0.005047   0.116297  -0.043   0.9654    
SmokerStatusNever smoked   0.379249   0.179654   2.111   0.0354 *  
Med.Statin.LLDyes         -0.202984   0.119293  -1.702   0.0897 .  
Med.all.antiplateletyes   -0.211296   0.188063  -1.124   0.2619    
GFR_MDRD                  -0.003392   0.002937  -1.155   0.2489    
BMI                       -0.020504   0.014488  -1.415   0.1578    
MedHx_CVDyes               0.112425   0.109318   1.028   0.3044    
stenose50-70%             -0.179621   0.774518  -0.232   0.8167    
stenose70-90%              0.252456   0.730210   0.346   0.7297    
stenose90-99%              0.169065   0.727684   0.232   0.8164    
stenose100% (Occlusion)   -0.670245   0.901957  -0.743   0.4579    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.007 on 368 degrees of freedom
Multiple R-squared:  0.1961,    Adjusted R-squared:  0.1524 
F-statistic: 4.489 on 20 and 368 DF,  p-value: 1.621e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.141513 
Standard error............: 0.057312 
Odds ratio (effect size)..: 1.152 
Lower 95% CI..............: 1.03 
Upper 95% CI..............: 1.289 
T-value...................: 2.469185 
P-value...................: 0.01399542 
R^2.......................: 0.196117 
Adjusted r^2..............: 0.152428 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    SmokerStatus + BMI, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006     SmokerStatusEx-smoker  
               0.8495934                 0.1801567                -0.1764966                -0.8563801                -1.0755297                -0.2790614                -0.0003182  
SmokerStatusNever smoked                       BMI  
               0.3758202                -0.0201384  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.98547 -0.72780 -0.08382  0.57034  2.98688 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.209717   1.055418   2.094   0.0370 *  
currentDF[, TRAIT]         0.167234   0.055783   2.998   0.0029 ** 
Age                       -0.009358   0.006521  -1.435   0.1521    
Gendermale                 0.108177   0.116397   0.929   0.3533    
ORdate_year2003           -0.202115   0.178069  -1.135   0.2571    
ORdate_year2004           -0.834075   0.169997  -4.906 1.40e-06 ***
ORdate_year2005           -1.052034   0.178579  -5.891 8.66e-09 ***
ORdate_year2006           -0.283643   0.607998  -0.467   0.6411    
Hypertension.compositeyes -0.102895   0.158163  -0.651   0.5157    
DiabetesStatusDiabetes     0.112274   0.130573   0.860   0.3904    
SmokerStatusEx-smoker      0.037391   0.115761   0.323   0.7469    
SmokerStatusNever smoked   0.456354   0.177700   2.568   0.0106 *  
Med.Statin.LLDyes         -0.198579   0.118861  -1.671   0.0956 .  
Med.all.antiplateletyes   -0.141898   0.187295  -0.758   0.4492    
GFR_MDRD                  -0.002939   0.002937  -1.001   0.3177    
BMI                       -0.028320   0.014553  -1.946   0.0524 .  
MedHx_CVDyes               0.118998   0.108755   1.094   0.2746    
stenose50-70%             -0.541527   0.778227  -0.696   0.4870    
stenose70-90%             -0.103979   0.735610  -0.141   0.8877    
stenose90-99%             -0.147657   0.730957  -0.202   0.8400    
stenose100% (Occlusion)   -1.061519   0.907459  -1.170   0.2429    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.003 on 368 degrees of freedom
Multiple R-squared:  0.2023,    Adjusted R-squared:  0.1589 
F-statistic: 4.666 on 20 and 368 DF,  p-value: 5.15e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.167234 
Standard error............: 0.055783 
Odds ratio (effect size)..: 1.182 
Lower 95% CI..............: 1.06 
Upper 95% CI..............: 1.319 
T-value...................: 2.997946 
P-value...................: 0.002902687 
R^2.......................: 0.202281 
Adjusted r^2..............: 0.158927 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006     SmokerStatusEx-smoker  
                 0.30537                   0.09345                  -0.17621                  -0.83204                  -1.02703                  -0.33467                  -0.02021  
SmokerStatusNever smoked  
                 0.33418  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.86606 -0.74713 -0.07738  0.54148  3.00389 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.881170   1.057604   1.779   0.0761 .  
currentDF[, TRAIT]         0.084928   0.053342   1.592   0.1122    
Age                       -0.009613   0.006576  -1.462   0.1447    
Gendermale                 0.154242   0.116033   1.329   0.1846    
ORdate_year2003           -0.193679   0.179584  -1.078   0.2815    
ORdate_year2004           -0.818231   0.172239  -4.751 2.91e-06 ***
ORdate_year2005           -1.000118   0.179920  -5.559 5.23e-08 ***
ORdate_year2006           -0.339185   0.615132  -0.551   0.5817    
Hypertension.compositeyes -0.066688   0.159797  -0.417   0.6767    
DiabetesStatusDiabetes     0.087669   0.131443   0.667   0.5052    
SmokerStatusEx-smoker      0.021922   0.116602   0.188   0.8510    
SmokerStatusNever smoked   0.425521   0.179189   2.375   0.0181 *  
Med.Statin.LLDyes         -0.210606   0.119844  -1.757   0.0797 .  
Med.all.antiplateletyes   -0.180837   0.188510  -0.959   0.3380    
GFR_MDRD                  -0.003352   0.002973  -1.127   0.2603    
BMI                       -0.025096   0.014645  -1.714   0.0874 .  
MedHx_CVDyes               0.127863   0.109655   1.166   0.2443    
stenose50-70%             -0.263834   0.778244  -0.339   0.7348    
stenose70-90%              0.180903   0.734180   0.246   0.8055    
stenose90-99%              0.090283   0.731640   0.123   0.9019    
stenose100% (Occlusion)   -0.747899   0.907281  -0.824   0.4103    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.012 on 368 degrees of freedom
Multiple R-squared:  0.1884,    Adjusted R-squared:  0.1443 
F-statistic: 4.271 on 20 and 368 DF,  p-value: 6.643e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.084928 
Standard error............: 0.053342 
Odds ratio (effect size)..: 1.089 
Lower 95% CI..............: 0.981 
Upper 95% CI..............: 1.209 
T-value...................: 1.592137 
P-value...................: 0.1122125 
R^2.......................: 0.188389 
Adjusted r^2..............: 0.14428 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

Analysis of MCP1_pg_ml_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
                -1.1190                  -0.1028                   0.1719                  -0.2637                  -0.7738                  -0.4074                   1.3776  
      Med.Statin.LLDyes  Med.all.antiplateletyes            stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
                -0.2191                  -0.3144                   1.2500                   1.6185                   1.4854                   0.5953  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.70428 -0.55440 -0.00907  0.45652  2.66246 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -1.6509226  1.1698997  -1.411   0.1593    
currentDF[, TRAIT]        -0.0848934  0.0531063  -1.599   0.1110    
Age                        0.0074687  0.0064213   1.163   0.2457    
Gendermale                 0.2083025  0.1105631   1.884   0.0606 .  
ORdate_year2003           -0.2477921  0.1582962  -1.565   0.1186    
ORdate_year2004           -0.7519972  0.1508084  -4.986 1.06e-06 ***
ORdate_year2005           -0.4014415  0.1824173  -2.201   0.0285 *  
ORdate_year2006            1.2846012  0.8978439   1.431   0.1536    
Hypertension.compositeyes -0.0595028  0.1526610  -0.390   0.6970    
DiabetesStatusDiabetes     0.0511650  0.1273001   0.402   0.6880    
SmokerStatusEx-smoker     -0.2188723  0.1128733  -1.939   0.0535 .  
SmokerStatusNever smoked   0.0240996  0.1797577   0.134   0.8934    
Med.Statin.LLDyes         -0.1929294  0.1129256  -1.708   0.0886 .  
Med.all.antiplateletyes   -0.2886237  0.1865433  -1.547   0.1229    
GFR_MDRD                   0.0003329  0.0029001   0.115   0.9087    
BMI                        0.0017818  0.0151806   0.117   0.9066    
MedHx_CVDyes               0.1236076  0.1057191   1.169   0.2433    
stenose50-70%              1.1914842  0.9268343   1.286   0.1996    
stenose70-90%              1.5833862  0.8793187   1.801   0.0728 .  
stenose90-99%              1.4225580  0.8779798   1.620   0.1063    
stenose100% (Occlusion)    0.5790383  1.0404448   0.557   0.5783    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8568 on 292 degrees of freedom
Multiple R-squared:  0.1938,    Adjusted R-squared:  0.1386 
F-statistic:  3.51 on 20 and 292 DF,  p-value: 1.255e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.084893 
Standard error............: 0.053106 
Odds ratio (effect size)..: 0.919 
Lower 95% CI..............: 0.828 
Upper 95% CI..............: 1.019 
T-value...................: -1.598557 
P-value...................: 0.1110005 
R^2.......................: 0.193818 
Adjusted r^2..............: 0.1386 
Sample size of AE DB......: 2423 
Sample size of model......: 313 
Missing data %............: 87.08213 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005  
               -0.407104                 -0.108162                  0.008971                  0.194689                 -0.237223                 -0.818154                 -0.359139  
   SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
               -0.247546                 -0.004107                 -0.170991  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.61406 -0.58571  0.00549  0.49758  2.56637 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.306618   0.800004  -0.383   0.7018    
currentDF[, TRAIT]        -0.105969   0.054651  -1.939   0.0535 .  
Age                        0.007144   0.006583   1.085   0.2788    
Gendermale                 0.194634   0.115078   1.691   0.0919 .  
ORdate_year2003           -0.227735   0.159514  -1.428   0.1545    
ORdate_year2004           -0.790034   0.153021  -5.163 4.73e-07 ***
ORdate_year2005           -0.324686   0.202934  -1.600   0.1108    
Hypertension.compositeyes -0.062175   0.158502  -0.392   0.6952    
DiabetesStatusDiabetes     0.039376   0.129650   0.304   0.7616    
SmokerStatusEx-smoker     -0.252396   0.114133  -2.211   0.0278 *  
SmokerStatusNever smoked   0.040855   0.186835   0.219   0.8271    
Med.Statin.LLDyes         -0.187167   0.116881  -1.601   0.1105    
Med.all.antiplateletyes   -0.264907   0.194513  -1.362   0.1744    
GFR_MDRD                  -0.001331   0.003142  -0.424   0.6722    
BMI                        0.003042   0.015479   0.197   0.8444    
MedHx_CVDyes               0.107049   0.108386   0.988   0.3242    
stenose70-90%              0.344021   0.293139   1.174   0.2416    
stenose90-99%              0.221576   0.288654   0.768   0.4434    
stenose100% (Occlusion)   -0.587405   0.598186  -0.982   0.3270    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8438 on 269 degrees of freedom
Multiple R-squared:  0.1948,    Adjusted R-squared:  0.1409 
F-statistic: 3.614 on 18 and 269 DF,  p-value: 2.078e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.105969 
Standard error............: 0.054651 
Odds ratio (effect size)..: 0.899 
Lower 95% CI..............: 0.808 
Upper 95% CI..............: 1.001 
T-value...................: -1.939002 
P-value...................: 0.05354686 
R^2.......................: 0.194753 
Adjusted r^2..............: 0.14087 
Sample size of AE DB......: 2423 
Sample size of model......: 288 
Missing data %............: 88.11391 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005  
               -0.453248                 -0.090663                  0.009867                  0.230869                 -0.294584                 -0.808770                 -0.437064  
   SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
               -0.241517                 -0.011822                 -0.187352  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.69485 -0.54752 -0.01582  0.50239  2.51386 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.3539392  0.7606624  -0.465   0.6421    
currentDF[, TRAIT]        -0.0939063  0.0526489  -1.784   0.0755 .  
Age                        0.0081804  0.0064091   1.276   0.2029    
Gendermale                 0.2285324  0.1097279   2.083   0.0382 *  
ORdate_year2003           -0.2920759  0.1582590  -1.846   0.0660 .  
ORdate_year2004           -0.7888764  0.1508859  -5.228 3.29e-07 ***
ORdate_year2005           -0.4289436  0.1889564  -2.270   0.0239 *  
Hypertension.compositeyes -0.0918686  0.1505360  -0.610   0.5422    
DiabetesStatusDiabetes    -0.0156638  0.1275370  -0.123   0.9023    
SmokerStatusEx-smoker     -0.2425791  0.1115488  -2.175   0.0305 *  
SmokerStatusNever smoked   0.0354470  0.1840304   0.193   0.8474    
Med.Statin.LLDyes         -0.2002950  0.1118137  -1.791   0.0743 .  
Med.all.antiplateletyes   -0.2685498  0.1901351  -1.412   0.1589    
GFR_MDRD                  -0.0009882  0.0029468  -0.335   0.7376    
BMI                        0.0052670  0.0146574   0.359   0.7196    
MedHx_CVDyes               0.1382560  0.1041484   1.327   0.1854    
stenose70-90%              0.2779623  0.2899467   0.959   0.3385    
stenose90-99%              0.1493320  0.2880411   0.518   0.6045    
stenose100% (Occlusion)   -0.7447213  0.5975983  -1.246   0.2137    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8447 on 288 degrees of freedom
Multiple R-squared:  0.1782,    Adjusted R-squared:  0.1269 
F-statistic:  3.47 on 18 and 288 DF,  p-value: 4.178e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.093906 
Standard error............: 0.052649 
Odds ratio (effect size)..: 0.91 
Lower 95% CI..............: 0.821 
Upper 95% CI..............: 1.009 
T-value...................: -1.783633 
P-value...................: 0.07553624 
R^2.......................: 0.178236 
Adjusted r^2..............: 0.126876 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006  
                -0.92224                   0.01456                   0.26615                  -0.22980                  -0.77480                  -0.62387                   1.38942  
   SmokerStatusEx-smoker  SmokerStatusNever smoked  
                -0.28471                  -0.10919  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.56359 -0.57954 -0.03632  0.51477  2.68325 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.560689   1.016945  -0.551 0.581813    
currentDF[, TRAIT]         0.063622   0.053306   1.194 0.233621    
Age                        0.011803   0.006732   1.753 0.080572 .  
Gendermale                 0.270725   0.112671   2.403 0.016888 *  
ORdate_year2003           -0.190529   0.161722  -1.178 0.239696    
ORdate_year2004           -0.701769   0.152478  -4.602 6.21e-06 ***
ORdate_year2005           -0.636708   0.184224  -3.456 0.000628 ***
ORdate_year2006            1.509609   0.910620   1.658 0.098424 .  
Hypertension.compositeyes -0.052531   0.157164  -0.334 0.738436    
DiabetesStatusDiabetes     0.068873   0.130506   0.528 0.598079    
SmokerStatusEx-smoker     -0.262503   0.113946  -2.304 0.021932 *  
SmokerStatusNever smoked  -0.053266   0.184777  -0.288 0.773343    
Med.Statin.LLDyes         -0.175298   0.114250  -1.534 0.126017    
Med.all.antiplateletyes   -0.235903   0.180885  -1.304 0.193197    
GFR_MDRD                  -0.001029   0.003020  -0.341 0.733549    
BMI                       -0.005945   0.014333  -0.415 0.678578    
MedHx_CVDyes               0.108408   0.106385   1.019 0.309030    
stenose50-70%             -0.038422   0.694021  -0.055 0.955888    
stenose70-90%              0.417509   0.644932   0.647 0.517897    
stenose90-99%              0.258147   0.641792   0.402 0.687807    
stenose100% (Occlusion)   -0.574627   0.858302  -0.669 0.503705    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8758 on 295 degrees of freedom
Multiple R-squared:  0.1917,    Adjusted R-squared:  0.1369 
F-statistic: 3.499 on 20 and 295 DF,  p-value: 1.321e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.063622 
Standard error............: 0.053306 
Odds ratio (effect size)..: 1.066 
Lower 95% CI..............: 0.96 
Upper 95% CI..............: 1.183 
T-value...................: 1.193529 
P-value...................: 0.2336211 
R^2.......................: 0.191724 
Adjusted r^2..............: 0.136926 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes            GFR_MDRD  
          0.554372            0.294365            0.252368           -0.328729           -0.882367           -0.920806           -0.185830           -0.178544           -0.005346  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.91736 -0.49060 -0.08618  0.46089  2.81577 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.554981   0.964756   0.575  0.56557    
currentDF[, TRAIT]         0.281353   0.050945   5.523 7.50e-08 ***
Age                        0.001574   0.006380   0.247  0.80527    
Gendermale                 0.293434   0.109783   2.673  0.00795 ** 
ORdate_year2003           -0.322502   0.156601  -2.059  0.04036 *  
ORdate_year2004           -0.860867   0.147150  -5.850 1.34e-08 ***
ORdate_year2005           -0.927385   0.172866  -5.365 1.68e-07 ***
ORdate_year2006           -0.199368   0.505074  -0.395  0.69334    
Hypertension.compositeyes -0.045573   0.153144  -0.298  0.76624    
DiabetesStatusDiabetes     0.076864   0.125891   0.611  0.54198    
SmokerStatusEx-smoker     -0.117886   0.108474  -1.087  0.27806    
SmokerStatusNever smoked   0.114740   0.181672   0.632  0.52817    
Med.Statin.LLDyes         -0.190216   0.108270  -1.757  0.08001 .  
Med.all.antiplateletyes   -0.019647   0.174092  -0.113  0.91023    
GFR_MDRD                  -0.004492   0.002781  -1.615  0.10731    
BMI                       -0.011503   0.013594  -0.846  0.39813    
MedHx_CVDyes               0.076321   0.102228   0.747  0.45593    
stenose50-70%             -0.193942   0.660189  -0.294  0.76915    
stenose70-90%              0.254973   0.609619   0.418  0.67608    
stenose90-99%              0.108788   0.608713   0.179  0.85829    
stenose100% (Occlusion)   -0.217583   0.787102  -0.276  0.78241    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8316 on 286 degrees of freedom
Multiple R-squared:  0.2597,    Adjusted R-squared:  0.2079 
F-statistic: 5.017 on 20 and 286 DF,  p-value: 1.288e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.281353 
Standard error............: 0.050945 
Odds ratio (effect size)..: 1.325 
Lower 95% CI..............: 1.199 
Upper 95% CI..............: 1.464 
T-value...................: 5.522689 
P-value...................: 7.501523e-08 
R^2.......................: 0.259707 
Adjusted r^2..............: 0.207938 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD + BMI, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes  
               0.55653                 0.11659                 0.30957                -0.22477                -0.85313                -0.73534                -0.22868                 0.26738  
     Med.Statin.LLDyes                     BMI  
              -0.24925                -0.01917  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.59423 -0.62449 -0.06451  0.54038  2.83082 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.9669355  0.9678687   0.999  0.31852    
currentDF[, TRAIT]         0.1160896  0.0505136   2.298  0.02219 *  
Age                       -0.0005451  0.0063878  -0.085  0.93204    
Gendermale                 0.3278803  0.1098314   2.985  0.00305 ** 
ORdate_year2003           -0.2263603  0.1749118  -1.294  0.19654    
ORdate_year2004           -0.8347318  0.1590787  -5.247 2.79e-07 ***
ORdate_year2005           -0.7219215  0.1628902  -4.432 1.28e-05 ***
ORdate_year2006           -0.2450410  0.2763557  -0.887  0.37590    
Hypertension.compositeyes -0.0996332  0.1520396  -0.655  0.51273    
DiabetesStatusDiabetes     0.2373546  0.1296141   1.831  0.06798 .  
SmokerStatusEx-smoker     -0.0886806  0.1121058  -0.791  0.42950    
SmokerStatusNever smoked   0.0608124  0.1670330   0.364  0.71604    
Med.Statin.LLDyes         -0.2597901  0.1157483  -2.244  0.02548 *  
Med.all.antiplateletyes   -0.2055278  0.1838802  -1.118  0.26451    
GFR_MDRD                  -0.0029336  0.0027772  -1.056  0.29161    
BMI                       -0.0195662  0.0135133  -1.448  0.14860    
MedHx_CVDyes               0.1273393  0.1045912   1.217  0.22430    
stenose50-70%             -0.1663630  0.7035082  -0.236  0.81321    
stenose70-90%              0.1321344  0.6557527   0.202  0.84043    
stenose90-99%              0.0475902  0.6530498   0.073  0.94195    
stenose100% (Occlusion)   -0.6902475  0.8108450  -0.851  0.39525    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9018 on 325 degrees of freedom
Multiple R-squared:  0.1878,    Adjusted R-squared:  0.1378 
F-statistic: 3.758 on 20 and 325 DF,  p-value: 2.251e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.11609 
Standard error............: 0.050514 
Odds ratio (effect size)..: 1.123 
Lower 95% CI..............: 1.017 
Upper 95% CI..............: 1.24 
T-value...................: 2.298185 
P-value...................: 0.0221858 
R^2.......................: 0.187808 
Adjusted r^2..............: 0.137827 
Sample size of AE DB......: 2423 
Sample size of model......: 346 
Missing data %............: 85.72018 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005     SmokerStatusEx-smoker  
                -0.77944                   0.01189                   0.30810                  -0.13734                  -0.71388                  -0.15778                  -0.26320  
SmokerStatusNever smoked         Med.Statin.LLDyes  
                 0.01930                  -0.16099  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.58399 -0.54231 -0.01786  0.48273  2.42746 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.226620   0.829722  -0.273  0.78498    
currentDF[, TRAIT]        -0.059964   0.058163  -1.031  0.30353    
Age                        0.007879   0.006880   1.145  0.25319    
Gendermale                 0.311258   0.119050   2.615  0.00947 ** 
ORdate_year2003           -0.191545   0.163976  -1.168  0.24384    
ORdate_year2004           -0.741826   0.157129  -4.721 3.87e-06 ***
ORdate_year2005           -0.186144   0.233271  -0.798  0.42563    
Hypertension.compositeyes -0.135154   0.166412  -0.812  0.41745    
DiabetesStatusDiabetes     0.009869   0.137043   0.072  0.94265    
SmokerStatusEx-smoker     -0.250359   0.118275  -2.117  0.03525 *  
SmokerStatusNever smoked   0.074527   0.193184   0.386  0.69998    
Med.Statin.LLDyes         -0.179998   0.120321  -1.496  0.13589    
Med.all.antiplateletyes   -0.265044   0.203349  -1.303  0.19361    
GFR_MDRD                  -0.002994   0.003254  -0.920  0.35833    
BMI                        0.004810   0.015668   0.307  0.75911    
MedHx_CVDyes               0.046986   0.115232   0.408  0.68380    
stenose70-90%              0.220286   0.315557   0.698  0.48576    
stenose90-99%              0.136760   0.311260   0.439  0.66076    
stenose100% (Occlusion)   -0.716299   0.620450  -1.154  0.24938    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8583 on 256 degrees of freedom
Multiple R-squared:  0.1919,    Adjusted R-squared:  0.1351 
F-statistic: 3.377 on 18 and 256 DF,  p-value: 8.284e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.059964 
Standard error............: 0.058163 
Odds ratio (effect size)..: 0.942 
Lower 95% CI..............: 0.84 
Upper 95% CI..............: 1.056 
T-value...................: -1.030963 
P-value...................: 0.3035311 
R^2.......................: 0.191875 
Adjusted r^2..............: 0.135053 
Sample size of AE DB......: 2423 
Sample size of model......: 275 
Missing data %............: 88.65043 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005     SmokerStatusEx-smoker  
               -0.973526                  0.013559                  0.250300                 -0.127146                 -0.694916                 -0.420144                 -0.253300  
SmokerStatusNever smoked  
                0.004165  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.57637 -0.55811 -0.02952  0.50298  2.47817 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.505251   0.830884  -0.608   0.5436    
currentDF[, TRAIT]        -0.051832   0.056750  -0.913   0.3619    
Age                        0.009362   0.006865   1.364   0.1738    
Gendermale                 0.255402   0.115818   2.205   0.0283 *  
ORdate_year2003           -0.165654   0.166140  -0.997   0.3196    
ORdate_year2004           -0.682148   0.155435  -4.389 1.64e-05 ***
ORdate_year2005           -0.430625   0.214194  -2.010   0.0454 *  
Hypertension.compositeyes -0.151487   0.163434  -0.927   0.3548    
DiabetesStatusDiabetes     0.058892   0.133475   0.441   0.6594    
SmokerStatusEx-smoker     -0.244131   0.118656  -2.057   0.0406 *  
SmokerStatusNever smoked   0.060622   0.185613   0.327   0.7442    
Med.Statin.LLDyes         -0.155414   0.118500  -1.312   0.1908    
Med.all.antiplateletyes   -0.221457   0.198288  -1.117   0.2651    
GFR_MDRD                  -0.002239   0.003164  -0.708   0.4798    
BMI                        0.002891   0.015735   0.184   0.8543    
MedHx_CVDyes               0.076403   0.111258   0.687   0.4929    
stenose70-90%              0.367375   0.296910   1.237   0.2170    
stenose90-99%              0.240673   0.292633   0.822   0.4116    
stenose100% (Occlusion)   -0.586911   0.708415  -0.828   0.4081    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8565 on 268 degrees of freedom
Multiple R-squared:  0.1688,    Adjusted R-squared:  0.1129 
F-statistic: 3.023 on 18 and 268 DF,  p-value: 5.348e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.051832 
Standard error............: 0.05675 
Odds ratio (effect size)..: 0.949 
Lower 95% CI..............: 0.85 
Upper 95% CI..............: 1.061 
T-value...................: -0.913343 
P-value...................: 0.3618829 
R^2.......................: 0.168767 
Adjusted r^2..............: 0.112938 
Sample size of AE DB......: 2423 
Sample size of model......: 287 
Missing data %............: 88.15518 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
               0.595506                 0.153309                 0.233674                -0.351780                -0.880565                -0.788063                -0.262755  
      Med.Statin.LLDyes  Med.all.antiplateletyes                 GFR_MDRD  
              -0.176880                -0.237760                -0.003363  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.61842 -0.59184 -0.07764  0.51760  2.81177 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.7001545  0.9203854   0.761  0.44731    
currentDF[, TRAIT]         0.1531729  0.0479158   3.197  0.00151 ** 
Age                        0.0032401  0.0058251   0.556  0.57838    
Gendermale                 0.2476279  0.1005577   2.463  0.01425 *  
ORdate_year2003           -0.3666446  0.1625877  -2.255  0.02471 *  
ORdate_year2004           -0.8748938  0.1550510  -5.643 3.32e-08 ***
ORdate_year2005           -0.8155080  0.1611136  -5.062 6.55e-07 ***
ORdate_year2006           -0.2779367  0.2697125  -1.030  0.30345    
Hypertension.compositeyes  0.0114096  0.1373345   0.083  0.93383    
DiabetesStatusDiabetes     0.1240769  0.1148948   1.080  0.28088    
SmokerStatusEx-smoker     -0.1234959  0.1022583  -1.208  0.22794    
SmokerStatusNever smoked   0.0005035  0.1574799   0.003  0.99745    
Med.Statin.LLDyes         -0.2036234  0.1060152  -1.921  0.05553 .  
Med.all.antiplateletyes   -0.2386655  0.1607695  -1.485  0.13852    
GFR_MDRD                  -0.0022868  0.0026018  -0.879  0.38000    
BMI                       -0.0153406  0.0124319  -1.234  0.21799    
MedHx_CVDyes               0.0804634  0.0953409   0.844  0.39924    
stenose50-70%             -0.2776686  0.6849107  -0.405  0.68541    
stenose70-90%              0.1099852  0.6433848   0.171  0.86436    
stenose90-99%             -0.0382385  0.6417982  -0.060  0.95252    
stenose100% (Occlusion)   -0.7175548  0.7920064  -0.906  0.36552    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8854 on 372 degrees of freedom
Multiple R-squared:  0.1747,    Adjusted R-squared:  0.1303 
F-statistic: 3.937 on 20 and 372 DF,  p-value: 5.599e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.153173 
Standard error............: 0.047916 
Odds ratio (effect size)..: 1.166 
Lower 95% CI..............: 1.061 
Upper 95% CI..............: 1.28 
T-value...................: 3.196709 
P-value...................: 0.001508995 
R^2.......................: 0.174694 
Adjusted r^2..............: 0.130323 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
                 0.3800                   0.1516                   0.2159                  -0.3528                  -0.8762                  -0.7960                  -0.2290  
      Med.Statin.LLDyes  Med.all.antiplateletyes  
                -0.1771                  -0.2458  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.60194 -0.59756 -0.08156  0.51003  2.82454 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.749161   0.920188   0.814  0.41608    
currentDF[, TRAIT]         0.150103   0.048516   3.094  0.00212 ** 
Age                        0.003030   0.005792   0.523  0.60126    
Gendermale                 0.238071   0.100429   2.371  0.01827 *  
ORdate_year2003           -0.355965   0.161869  -2.199  0.02848 *  
ORdate_year2004           -0.866419   0.154674  -5.602 4.13e-08 ***
ORdate_year2005           -0.799460   0.160420  -4.984 9.57e-07 ***
ORdate_year2006           -0.255847   0.269771  -0.948  0.34355    
Hypertension.compositeyes  0.003424   0.137078   0.025  0.98009    
DiabetesStatusDiabetes     0.112412   0.114645   0.981  0.32747    
SmokerStatusEx-smoker     -0.116677   0.101952  -1.144  0.25318    
SmokerStatusNever smoked   0.001831   0.157382   0.012  0.99072    
Med.Statin.LLDyes         -0.207204   0.105736  -1.960  0.05078 .  
Med.all.antiplateletyes   -0.234722   0.160653  -1.461  0.14484    
GFR_MDRD                  -0.002321   0.002600  -0.892  0.37274    
BMI                       -0.015988   0.012420  -1.287  0.19879    
MedHx_CVDyes               0.081885   0.095043   0.862  0.38948    
stenose50-70%             -0.299862   0.685199  -0.438  0.66191    
stenose70-90%              0.097012   0.643566   0.151  0.88026    
stenose90-99%             -0.050900   0.642066  -0.079  0.93686    
stenose100% (Occlusion)   -0.764301   0.792037  -0.965  0.33518    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8851 on 373 degrees of freedom
Multiple R-squared:  0.1733,    Adjusted R-squared:  0.129 
F-statistic: 3.909 on 20 and 373 DF,  p-value: 6.666e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.150103 
Standard error............: 0.048516 
Odds ratio (effect size)..: 1.162 
Lower 95% CI..............: 1.057 
Upper 95% CI..............: 1.278 
T-value...................: 3.093897 
P-value...................: 0.002124423 
R^2.......................: 0.173286 
Adjusted r^2..............: 0.128959 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale           ORdate_year2003           ORdate_year2004           ORdate_year2005           ORdate_year2006  
               -0.347236                  0.009089                  0.332217                 -0.199088                 -0.771727                 -0.636065                 -0.976856  
   SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes   Med.all.antiplateletyes  
               -0.195376                  0.092847                 -0.175474                 -0.242653  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.56103 -0.57605 -0.00973  0.51068  2.53226 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.054204   1.005514   0.054 0.957048    
currentDF[, TRAIT]        -0.061677   0.060697  -1.016 0.310423    
Age                        0.005735   0.006706   0.855 0.393132    
Gendermale                 0.334824   0.115752   2.893 0.004115 ** 
ORdate_year2003           -0.235703   0.162992  -1.446 0.149248    
ORdate_year2004           -0.779021   0.154956  -5.027  8.8e-07 ***
ORdate_year2005           -0.689029   0.199804  -3.449 0.000649 ***
ORdate_year2006           -1.118202   0.917737  -1.218 0.224067    
Hypertension.compositeyes -0.098715   0.163613  -0.603 0.546760    
DiabetesStatusDiabetes     0.058112   0.130999   0.444 0.657666    
SmokerStatusEx-smoker     -0.187955   0.115510  -1.627 0.104805    
SmokerStatusNever smoked   0.157219   0.186945   0.841 0.401059    
Med.Statin.LLDyes         -0.222019   0.119391  -1.860 0.063973 .  
Med.all.antiplateletyes   -0.252868   0.182849  -1.383 0.167768    
GFR_MDRD                  -0.002446   0.003002  -0.815 0.415883    
BMI                       -0.008274   0.014225  -0.582 0.561273    
MedHx_CVDyes               0.049977   0.111170   0.450 0.653377    
stenose50-70%              0.067761   0.712924   0.095 0.924345    
stenose70-90%              0.400194   0.651960   0.614 0.539816    
stenose90-99%              0.280228   0.649499   0.431 0.666465    
stenose100% (Occlusion)   -0.617904   0.937357  -0.659 0.510301    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8801 on 285 degrees of freedom
Multiple R-squared:  0.1838,    Adjusted R-squared:  0.1265 
F-statistic: 3.209 on 20 and 285 DF,  p-value: 8.033e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.061677 
Standard error............: 0.060697 
Odds ratio (effect size)..: 0.94 
Lower 95% CI..............: 0.835 
Upper 95% CI..............: 1.059 
T-value...................: -1.016143 
P-value...................: 0.3104232 
R^2.......................: 0.183783 
Adjusted r^2..............: 0.126505 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  
        -0.1427           0.2506          -0.1883          -0.7477          -0.5064  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.67023 -0.54458 -0.02687  0.53600  2.47258 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.573232   0.816898  -0.702   0.4835    
currentDF[, TRAIT]        -0.074441   0.057518  -1.294   0.1967    
Age                        0.006849   0.006796   1.008   0.3145    
Gendermale                 0.281879   0.116890   2.411   0.0166 *  
ORdate_year2003           -0.222083   0.169044  -1.314   0.1901    
ORdate_year2004           -0.759360   0.164591  -4.614 6.22e-06 ***
ORdate_year2005           -0.493713   0.210463  -2.346   0.0197 *  
Hypertension.compositeyes -0.082736   0.162229  -0.510   0.6105    
DiabetesStatusDiabetes    -0.054798   0.133730  -0.410   0.6823    
SmokerStatusEx-smoker     -0.191956   0.118628  -1.618   0.1068    
SmokerStatusNever smoked   0.032888   0.189846   0.173   0.8626    
Med.Statin.LLDyes         -0.135460   0.118249  -1.146   0.2530    
Med.all.antiplateletyes   -0.121155   0.202175  -0.599   0.5495    
GFR_MDRD                  -0.001717   0.003150  -0.545   0.5861    
BMI                        0.006974   0.015884   0.439   0.6610    
MedHx_CVDyes               0.079350   0.112892   0.703   0.4828    
stenose70-90%              0.306509   0.297962   1.029   0.3046    
stenose90-99%              0.202746   0.293475   0.691   0.4903    
stenose100% (Occlusion)   -0.507828   0.709767  -0.715   0.4750    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8526 on 260 degrees of freedom
Multiple R-squared:  0.1656,    Adjusted R-squared:  0.1079 
F-statistic: 2.867 on 18 and 260 DF,  p-value: 0.000127

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.074441 
Standard error............: 0.057518 
Odds ratio (effect size)..: 0.928 
Lower 95% CI..............: 0.829 
Upper 95% CI..............: 1.039 
T-value...................: -1.294229 
P-value...................: 0.1967348 
R^2.......................: 0.165622 
Adjusted r^2..............: 0.107857 
Sample size of AE DB......: 2423 
Sample size of model......: 279 
Missing data %............: 88.48535 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD + 
    GFR_MDRD, data = currentDF)

Coefficients:
      (Intercept)         Gendermale    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes           GFR_MDRD  
         0.319612           0.266668          -0.271782          -0.784781          -0.704787          -0.257963          -0.185071          -0.003707  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.55472 -0.59428 -0.06925  0.51634  3.00948 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.650392   0.930469   0.699  0.48499    
currentDF[, TRAIT]         0.052491   0.054480   0.963  0.33593    
Age                        0.001129   0.005829   0.194  0.84650    
Gendermale                 0.264589   0.101381   2.610  0.00942 ** 
ORdate_year2003           -0.293023   0.162374  -1.805  0.07194 .  
ORdate_year2004           -0.738720   0.161606  -4.571 6.61e-06 ***
ORdate_year2005           -0.690712   0.166985  -4.136 4.36e-05 ***
ORdate_year2006           -0.228685   0.279617  -0.818  0.41397    
Hypertension.compositeyes -0.006436   0.138672  -0.046  0.96301    
DiabetesStatusDiabetes     0.114697   0.117042   0.980  0.32774    
SmokerStatusEx-smoker     -0.083487   0.103258  -0.809  0.41930    
SmokerStatusNever smoked   0.068765   0.158166   0.435  0.66398    
Med.Statin.LLDyes         -0.207867   0.106976  -1.943  0.05276 .  
Med.all.antiplateletyes   -0.227337   0.162915  -1.395  0.16371    
GFR_MDRD                  -0.002390   0.002655  -0.900  0.36860    
BMI                       -0.017478   0.012585  -1.389  0.16573    
MedHx_CVDyes               0.082504   0.096351   0.856  0.39239    
stenose50-70%             -0.176613   0.692245  -0.255  0.79876    
stenose70-90%              0.238119   0.649635   0.367  0.71417    
stenose90-99%              0.098505   0.648168   0.152  0.87929    
stenose100% (Occlusion)   -0.707803   0.801294  -0.883  0.37763    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8952 on 373 degrees of freedom
Multiple R-squared:  0.1542,    Adjusted R-squared:  0.1088 
F-statistic: 3.399 on 20 and 373 DF,  p-value: 1.723e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.052491 
Standard error............: 0.05448 
Odds ratio (effect size)..: 1.054 
Lower 95% CI..............: 0.947 
Upper 95% CI..............: 1.173 
T-value...................: 0.963492 
P-value...................: 0.3359251 
R^2.......................: 0.154176 
Adjusted r^2..............: 0.108823 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes            GFR_MDRD  
          0.253585            0.226533            0.227600           -0.250397           -0.660326           -0.571008           -0.046719           -0.167501           -0.003966  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.85025 -0.58290 -0.06178  0.54670  2.92347 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.221141   0.905701   0.244 0.807239    
currentDF[, TRAIT]         0.225405   0.045153   4.992 9.23e-07 ***
Age                        0.002192   0.005699   0.385 0.700753    
Gendermale                 0.227011   0.099167   2.289 0.022634 *  
ORdate_year2003           -0.259157   0.157871  -1.642 0.101530    
ORdate_year2004           -0.660756   0.150901  -4.379 1.56e-05 ***
ORdate_year2005           -0.599515   0.157477  -3.807 0.000165 ***
ORdate_year2006           -0.074874   0.266850  -0.281 0.779186    
Hypertension.compositeyes  0.023825   0.134533   0.177 0.859531    
DiabetesStatusDiabetes     0.158528   0.113451   1.397 0.163157    
SmokerStatusEx-smoker     -0.089651   0.099943  -0.897 0.370292    
SmokerStatusNever smoked   0.020878   0.153166   0.136 0.891652    
Med.Statin.LLDyes         -0.182543   0.103891  -1.757 0.079735 .  
Med.all.antiplateletyes   -0.191017   0.161585  -1.182 0.237911    
GFR_MDRD                  -0.002696   0.002548  -1.058 0.290742    
BMI                       -0.011309   0.012244  -0.924 0.356254    
MedHx_CVDyes               0.066293   0.093651   0.708 0.479475    
stenose50-70%             -0.069976   0.667715  -0.105 0.916592    
stenose70-90%              0.319651   0.626256   0.510 0.610065    
stenose90-99%              0.215407   0.624364   0.345 0.730289    
stenose100% (Occlusion)   -0.342039   0.776118  -0.441 0.659685    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8647 on 369 degrees of freedom
Multiple R-squared:  0.2036,    Adjusted R-squared:  0.1604 
F-statistic: 4.716 on 20 and 369 DF,  p-value: 3.694e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.225405 
Standard error............: 0.045153 
Odds ratio (effect size)..: 1.253 
Lower 95% CI..............: 1.147 
Upper 95% CI..............: 1.369 
T-value...................: 4.991991 
P-value...................: 9.231458e-07 
R^2.......................: 0.203569 
Adjusted r^2..............: 0.160402 
Sample size of AE DB......: 2423 
Sample size of model......: 390 
Missing data %............: 83.90425 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes  
               0.08618                 0.16039                 0.27647                -0.26419                -0.86729                -0.74525                -0.18002                 0.17373  
     Med.Statin.LLDyes  
              -0.24536  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.58560 -0.62123 -0.07518  0.51911  2.81207 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.9629414  0.9471188   1.017  0.31002    
currentDF[, TRAIT]         0.1644586  0.0506263   3.248  0.00128 ** 
Age                        0.0002706  0.0062095   0.044  0.96527    
Gendermale                 0.2900835  0.1078236   2.690  0.00749 ** 
ORdate_year2003           -0.2788134  0.1689739  -1.650  0.09987 .  
ORdate_year2004           -0.8678387  0.1573600  -5.515 6.97e-08 ***
ORdate_year2005           -0.7504245  0.1611493  -4.657 4.63e-06 ***
ORdate_year2006           -0.2041206  0.2733388  -0.747  0.45573    
Hypertension.compositeyes -0.0905211  0.1464746  -0.618  0.53699    
DiabetesStatusDiabetes     0.1884920  0.1229651   1.533  0.12624    
SmokerStatusEx-smoker     -0.1267543  0.1089653  -1.163  0.24555    
SmokerStatusNever smoked   0.0270176  0.1634002   0.165  0.86877    
Med.Statin.LLDyes         -0.2561369  0.1127291  -2.272  0.02371 *  
Med.all.antiplateletyes   -0.1992514  0.1784260  -1.117  0.26491    
GFR_MDRD                  -0.0022485  0.0026872  -0.837  0.40334    
BMI                       -0.0161466  0.0129984  -1.242  0.21503    
MedHx_CVDyes               0.1031834  0.1018672   1.013  0.31183    
stenose50-70%             -0.2733916  0.6976237  -0.392  0.69539    
stenose70-90%              0.0186183  0.6506549   0.029  0.97719    
stenose90-99%             -0.0787949  0.6486271  -0.121  0.90338    
stenose100% (Occlusion)   -0.7800117  0.8025164  -0.972  0.33177    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8923 on 336 degrees of freedom
Multiple R-squared:  0.1919,    Adjusted R-squared:  0.1438 
F-statistic:  3.99 on 20 and 336 DF,  p-value: 4.874e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.164459 
Standard error............: 0.050626 
Odds ratio (effect size)..: 1.179 
Lower 95% CI..............: 1.067 
Upper 95% CI..............: 1.302 
T-value...................: 3.248481 
P-value...................: 0.001277402 
R^2.......................: 0.191936 
Adjusted r^2..............: 0.143837 
Sample size of AE DB......: 2423 
Sample size of model......: 357 
Missing data %............: 85.2662 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD + 
    GFR_MDRD, data = currentDF)

Coefficients:
      (Intercept)         Gendermale    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes           GFR_MDRD  
         0.345942           0.266352          -0.293457          -0.771033          -0.700843          -0.250994          -0.205769          -0.003899  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.5662 -0.5883 -0.0691  0.5373  2.9849 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.671235   0.933661   0.719 0.472644    
currentDF[, TRAIT]         0.059297   0.052100   1.138 0.255809    
Age                        0.001005   0.005884   0.171 0.864452    
Gendermale                 0.260366   0.102887   2.531 0.011806 *  
ORdate_year2003           -0.275189   0.167530  -1.643 0.101318    
ORdate_year2004           -0.695159   0.169903  -4.092 5.28e-05 ***
ORdate_year2005           -0.665364   0.171276  -3.885 0.000122 ***
ORdate_year2006           -0.218455   0.278730  -0.784 0.433694    
Hypertension.compositeyes -0.069846   0.140580  -0.497 0.619598    
DiabetesStatusDiabetes     0.142747   0.118522   1.204 0.229218    
SmokerStatusEx-smoker     -0.069088   0.103477  -0.668 0.504764    
SmokerStatusNever smoked   0.078300   0.158158   0.495 0.620845    
Med.Statin.LLDyes         -0.220823   0.107543  -2.053 0.040749 *  
Med.all.antiplateletyes   -0.193492   0.167319  -1.156 0.248262    
GFR_MDRD                  -0.002931   0.002638  -1.111 0.267336    
BMI                       -0.017209   0.012643  -1.361 0.174302    
MedHx_CVDyes               0.093698   0.097328   0.963 0.336334    
stenose50-70%             -0.165364   0.693095  -0.239 0.811559    
stenose70-90%              0.221135   0.647151   0.342 0.732769    
stenose90-99%              0.123034   0.644778   0.191 0.848775    
stenose100% (Occlusion)   -0.747078   0.801401  -0.932 0.351840    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8924 on 366 degrees of freedom
Multiple R-squared:  0.1519,    Adjusted R-squared:  0.1056 
F-statistic: 3.279 on 20 and 366 DF,  p-value: 3.775e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.059297 
Standard error............: 0.0521 
Odds ratio (effect size)..: 1.061 
Lower 95% CI..............: 0.958 
Upper 95% CI..............: 1.175 
T-value...................: 1.138134 
P-value...................: 0.2558089 
R^2.......................: 0.151935 
Adjusted r^2..............: 0.105593 
Sample size of AE DB......: 2423 
Sample size of model......: 387 
Missing data %............: 84.02806 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
                0.39362                  0.09763                  0.23101                 -0.26131                 -0.86028                 -0.79588                 -0.30495  
      Med.Statin.LLDyes  Med.all.antiplateletyes  
               -0.19293                 -0.27025  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.60978 -0.59721 -0.08116  0.54150  2.88099 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.8350740  0.9369059   0.891   0.3734    
currentDF[, TRAIT]         0.1022259  0.0514028   1.989   0.0475 *  
Age                        0.0020825  0.0060071   0.347   0.7290    
Gendermale                 0.2505409  0.1028871   2.435   0.0154 *  
ORdate_year2003           -0.2812890  0.1634493  -1.721   0.0861 .  
ORdate_year2004           -0.8636556  0.1594731  -5.416 1.12e-07 ***
ORdate_year2005           -0.8101315  0.1654979  -4.895 1.48e-06 ***
ORdate_year2006           -0.3462155  0.2738780  -1.264   0.2070    
Hypertension.compositeyes -0.0347969  0.1407324  -0.247   0.8049    
DiabetesStatusDiabetes     0.1438794  0.1183520   1.216   0.2249    
SmokerStatusEx-smoker     -0.1081636  0.1046604  -1.033   0.3021    
SmokerStatusNever smoked   0.0005493  0.1624450   0.003   0.9973    
Med.Statin.LLDyes         -0.2229684  0.1082118  -2.060   0.0401 *  
Med.all.antiplateletyes   -0.2725158  0.1652038  -1.650   0.0999 .  
GFR_MDRD                  -0.0024015  0.0026435  -0.908   0.3642    
BMI                       -0.0157149  0.0126482  -1.242   0.2149    
MedHx_CVDyes               0.0601735  0.0980827   0.613   0.5399    
stenose50-70%             -0.2448441  0.6956385  -0.352   0.7251    
stenose70-90%              0.1291190  0.6504024   0.199   0.8427    
stenose90-99%              0.0125920  0.6486416   0.019   0.9845    
stenose100% (Occlusion)   -0.8077337  0.8018032  -1.007   0.3144    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8945 on 362 degrees of freedom
Multiple R-squared:  0.1633,    Adjusted R-squared:  0.1171 
F-statistic: 3.534 on 20 and 362 DF,  p-value: 7.702e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.102226 
Standard error............: 0.051403 
Odds ratio (effect size)..: 1.108 
Lower 95% CI..............: 1.001 
Upper 95% CI..............: 1.225 
T-value...................: 1.988722 
P-value...................: 0.04748441 
R^2.......................: 0.163336 
Adjusted r^2..............: 0.117111 
Sample size of AE DB......: 2423 
Sample size of model......: 383 
Missing data %............: 84.19315 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD + MedHx_CVD, 
    data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes  
              -0.05196                 0.13730                 0.28889                -0.31572                -0.84836                -0.72740                -0.25744                 0.17767  
     Med.Statin.LLDyes            MedHx_CVDyes  
              -0.22853                 0.15677  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.53175 -0.55291 -0.04647  0.57922  2.85591 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.716328   0.959014   0.747  0.45563    
currentDF[, TRAIT]         0.142418   0.049908   2.854  0.00460 ** 
Age                        0.001330   0.006296   0.211  0.83281    
Gendermale                 0.296415   0.106780   2.776  0.00582 ** 
ORdate_year2003           -0.331883   0.168242  -1.973  0.04937 *  
ORdate_year2004           -0.854167   0.156550  -5.456 9.58e-08 ***
ORdate_year2005           -0.717619   0.161502  -4.443 1.21e-05 ***
ORdate_year2006           -0.295784   0.287884  -1.027  0.30497    
Hypertension.compositeyes -0.043990   0.146477  -0.300  0.76412    
DiabetesStatusDiabetes     0.184435   0.124507   1.481  0.13948    
SmokerStatusEx-smoker     -0.110128   0.110085  -1.000  0.31786    
SmokerStatusNever smoked  -0.072067   0.171293  -0.421  0.67423    
Med.Statin.LLDyes         -0.238192   0.112473  -2.118  0.03494 *  
Med.all.antiplateletyes   -0.191710   0.169583  -1.130  0.25910    
GFR_MDRD                  -0.003092   0.002747  -1.125  0.26126    
BMI                       -0.016701   0.013170  -1.268  0.20565    
MedHx_CVDyes               0.151075   0.101883   1.483  0.13908    
stenose50-70%             -0.168247   0.691547  -0.243  0.80793    
stenose70-90%              0.167960   0.646886   0.260  0.79530    
stenose90-99%              0.056514   0.644255   0.088  0.93015    
stenose100% (Occlusion)   -0.549828   0.798350  -0.689  0.49149    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8894 on 329 degrees of freedom
Multiple R-squared:  0.1818,    Adjusted R-squared:  0.132 
F-statistic: 3.654 on 20 and 329 DF,  p-value: 4.204e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.142418 
Standard error............: 0.049908 
Odds ratio (effect size)..: 1.153 
Lower 95% CI..............: 1.046 
Upper 95% CI..............: 1.272 
T-value...................: 2.853631 
P-value...................: 0.004596121 
R^2.......................: 0.181762 
Adjusted r^2..............: 0.132021 
Sample size of AE DB......: 2423 
Sample size of model......: 350 
Missing data %............: 85.5551 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
                 0.3647                   0.1365                   0.2092                  -0.3042                  -0.8738                  -0.7910                  -0.2495  
      Med.Statin.LLDyes  Med.all.antiplateletyes  
                -0.1702                  -0.2428  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.66607 -0.60520 -0.08781  0.52891  2.88049 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.760289   0.923674   0.823  0.41097    
currentDF[, TRAIT]         0.131722   0.049992   2.635  0.00877 ** 
Age                        0.002409   0.005800   0.415  0.67814    
Gendermale                 0.232758   0.101319   2.297  0.02216 *  
ORdate_year2003           -0.309361   0.161219  -1.919  0.05576 .  
ORdate_year2004           -0.862456   0.155739  -5.538 5.79e-08 ***
ORdate_year2005           -0.793011   0.161133  -4.921 1.29e-06 ***
ORdate_year2006           -0.276359   0.270536  -1.022  0.30767    
Hypertension.compositeyes -0.001597   0.137517  -0.012  0.99074    
DiabetesStatusDiabetes     0.106383   0.114993   0.925  0.35550    
SmokerStatusEx-smoker     -0.111915   0.102269  -1.094  0.27452    
SmokerStatusNever smoked   0.007022   0.158094   0.044  0.96460    
Med.Statin.LLDyes         -0.201194   0.106114  -1.896  0.05873 .  
Med.all.antiplateletyes   -0.235044   0.161263  -1.458  0.14582    
GFR_MDRD                  -0.002307   0.002611  -0.884  0.37752    
BMI                       -0.016028   0.012463  -1.286  0.19924    
MedHx_CVDyes               0.081617   0.095385   0.856  0.39273    
stenose50-70%             -0.277037   0.687591  -0.403  0.68725    
stenose70-90%              0.116665   0.646032   0.181  0.85679    
stenose90-99%             -0.029303   0.644561  -0.045  0.96376    
stenose100% (Occlusion)   -0.775388   0.795151  -0.975  0.33012    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8881 on 373 degrees of freedom
Multiple R-squared:  0.1676,    Adjusted R-squared:  0.1229 
F-statistic: 3.754 on 20 and 373 DF,  p-value: 1.804e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.131722 
Standard error............: 0.049992 
Odds ratio (effect size)..: 1.141 
Lower 95% CI..............: 1.034 
Upper 95% CI..............: 1.258 
T-value...................: 2.634876 
P-value...................: 0.008767672 
R^2.......................: 0.167565 
Adjusted r^2..............: 0.12293 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes            GFR_MDRD  
          0.445317            0.100312            0.228664           -0.374751           -0.826385           -0.726545           -0.278725           -0.255280           -0.003695  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.5800 -0.5851 -0.1003  0.5449  2.7682 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.2456953  0.9833857   1.267 0.206184    
currentDF[, TRAIT]         0.0942966  0.0530131   1.779 0.076247 .  
Age                       -0.0003196  0.0062250  -0.051 0.959086    
Gendermale                 0.2367579  0.1088728   2.175 0.030402 *  
ORdate_year2003           -0.4236892  0.2590966  -1.635 0.102994    
ORdate_year2004           -0.8570383  0.2545802  -3.366 0.000856 ***
ORdate_year2005           -0.7784256  0.2594474  -3.000 0.002912 ** 
ORdate_year2006           -0.3552240  0.3381685  -1.050 0.294323    
Hypertension.compositeyes -0.1431015  0.1469515  -0.974 0.330902    
DiabetesStatusDiabetes     0.1181421  0.1258904   0.938 0.348731    
SmokerStatusEx-smoker     -0.0404679  0.1112516  -0.364 0.716288    
SmokerStatusNever smoked   0.0579784  0.1647016   0.352 0.725058    
Med.Statin.LLDyes         -0.2810100  0.1178306  -2.385 0.017677 *  
Med.all.antiplateletyes   -0.1440247  0.1755973  -0.820 0.412723    
GFR_MDRD                  -0.0037807  0.0028874  -1.309 0.191361    
BMI                       -0.0214379  0.0137193  -1.563 0.119150    
MedHx_CVDyes               0.0332867  0.1046612   0.318 0.750664    
stenose50-70%             -0.1989466  0.6936583  -0.287 0.774448    
stenose70-90%              0.1549955  0.6458604   0.240 0.810500    
stenose90-99%              0.0453677  0.6440882   0.070 0.943891    
stenose100% (Occlusion)   -0.7696348  0.8002061  -0.962 0.336890    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8889 on 315 degrees of freedom
Multiple R-squared:  0.1497,    Adjusted R-squared:  0.09567 
F-statistic: 2.772 on 20 and 315 DF,  p-value: 9.627e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.094297 
Standard error............: 0.053013 
Odds ratio (effect size)..: 1.099 
Lower 95% CI..............: 0.99 
Upper 95% CI..............: 1.219 
T-value...................: 1.77874 
P-value...................: 0.0762468 
R^2.......................: 0.149661 
Adjusted r^2..............: 0.095671 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
           0.01341             0.08601             0.25787            -0.26625            -0.69432            -0.65723            -0.16118            -0.18550  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.57766 -0.60627 -0.07318  0.52362  3.04525 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.532447   0.935102   0.569  0.56943    
currentDF[, TRAIT]         0.066460   0.051642   1.287  0.19891    
Age                        0.001022   0.005809   0.176  0.86043    
Gendermale                 0.272089   0.100812   2.699  0.00727 ** 
ORdate_year2003           -0.275106   0.162707  -1.691  0.09171 .  
ORdate_year2004           -0.714099   0.163687  -4.363 1.67e-05 ***
ORdate_year2005           -0.680108   0.166043  -4.096 5.16e-05 ***
ORdate_year2006           -0.220923   0.277398  -0.796  0.42630    
Hypertension.compositeyes  0.003680   0.138944   0.026  0.97888    
DiabetesStatusDiabetes     0.115791   0.116513   0.994  0.32096    
SmokerStatusEx-smoker     -0.091081   0.102730  -0.887  0.37586    
SmokerStatusNever smoked   0.054335   0.157935   0.344  0.73102    
Med.Statin.LLDyes         -0.207709   0.106859  -1.944  0.05268 .  
Med.all.antiplateletyes   -0.198629   0.162670  -1.221  0.22284    
GFR_MDRD                  -0.002466   0.002634  -0.936  0.34982    
BMI                       -0.016689   0.012548  -1.330  0.18434    
MedHx_CVDyes               0.084444   0.096082   0.879  0.38003    
stenose50-70%             -0.101489   0.690909  -0.147  0.88330    
stenose70-90%              0.292377   0.647679   0.451  0.65195    
stenose90-99%              0.155666   0.645624   0.241  0.80960    
stenose100% (Occlusion)   -0.588893   0.802714  -0.734  0.46364    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8944 on 373 degrees of freedom
Multiple R-squared:  0.1558,    Adjusted R-squared:  0.1106 
F-statistic: 3.442 on 20 and 373 DF,  p-value: 1.313e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.06646 
Standard error............: 0.051642 
Odds ratio (effect size)..: 1.069 
Lower 95% CI..............: 0.966 
Upper 95% CI..............: 1.183 
T-value...................: 1.286948 
P-value...................: 0.1989104 
R^2.......................: 0.155819 
Adjusted r^2..............: 0.110555 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD + BMI, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes  
               0.50428                 0.07524                 0.30695                -0.21831                -0.77565                -0.67567                -0.17882                 0.24380  
     Med.Statin.LLDyes                     BMI  
              -0.25477                -0.01886  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.5738 -0.6319 -0.0623  0.4945  2.8978 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.025396   0.956290   1.072  0.28438    
currentDF[, TRAIT]         0.063063   0.053183   1.186  0.23655    
Age                       -0.002046   0.006167  -0.332  0.74023    
Gendermale                 0.326899   0.108395   3.016  0.00276 ** 
ORdate_year2003           -0.230096   0.173634  -1.325  0.18602    
ORdate_year2004           -0.770880   0.164282  -4.692 3.95e-06 ***
ORdate_year2005           -0.676680   0.170394  -3.971 8.76e-05 ***
ORdate_year2006           -0.213978   0.283434  -0.755  0.45081    
Hypertension.compositeyes -0.095521   0.148555  -0.643  0.52067    
DiabetesStatusDiabetes     0.216151   0.125912   1.717  0.08697 .  
SmokerStatusEx-smoker     -0.070028   0.109517  -0.639  0.52298    
SmokerStatusNever smoked   0.083892   0.164933   0.509  0.61134    
Med.Statin.LLDyes         -0.265717   0.113240  -2.346  0.01954 *  
Med.all.antiplateletyes   -0.205270   0.183545  -1.118  0.26422    
GFR_MDRD                  -0.002951   0.002744  -1.075  0.28295    
BMI                       -0.020241   0.013169  -1.537  0.12524    
MedHx_CVDyes               0.118820   0.102939   1.154  0.24921    
stenose50-70%             -0.145014   0.702054  -0.207  0.83648    
stenose70-90%              0.151051   0.654487   0.231  0.81762    
stenose90-99%              0.065741   0.652519   0.101  0.91981    
stenose100% (Occlusion)   -0.733400   0.808462  -0.907  0.36498    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8995 on 333 degrees of freedom
Multiple R-squared:  0.1783,    Adjusted R-squared:  0.1289 
F-statistic: 3.612 on 20 and 333 DF,  p-value: 5.369e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.063063 
Standard error............: 0.053183 
Odds ratio (effect size)..: 1.065 
Lower 95% CI..............: 0.96 
Upper 95% CI..............: 1.182 
T-value...................: 1.185783 
P-value...................: 0.2365535 
R^2.......................: 0.178256 
Adjusted r^2..............: 0.128902 
Sample size of AE DB......: 2423 
Sample size of model......: 354 
Missing data %............: 85.39001 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
               0.537737                 0.153728                 0.224314                -0.240409                -0.726714                -0.696086                -0.264687  
      Med.Statin.LLDyes  Med.all.antiplateletyes                 GFR_MDRD  
              -0.170890                -0.253921                -0.003719  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.43705 -0.58842 -0.07866  0.52581  2.79285 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.502337   0.920778   0.546  0.58570    
currentDF[, TRAIT]         0.151590   0.045783   3.311  0.00102 ** 
Age                        0.002381   0.005785   0.412  0.68087    
Gendermale                 0.241130   0.100618   2.396  0.01705 *  
ORdate_year2003           -0.253826   0.161234  -1.574  0.11627    
ORdate_year2004           -0.720852   0.153602  -4.693 3.79e-06 ***
ORdate_year2005           -0.721058   0.158984  -4.535 7.77e-06 ***
ORdate_year2006           -0.276013   0.269457  -1.024  0.30634    
Hypertension.compositeyes  0.028447   0.137553   0.207  0.83627    
DiabetesStatusDiabetes     0.131431   0.114933   1.144  0.25355    
SmokerStatusEx-smoker     -0.118901   0.102016  -1.166  0.24456    
SmokerStatusNever smoked   0.026289   0.156520   0.168  0.86670    
Med.Statin.LLDyes         -0.198611   0.105927  -1.875  0.06158 .  
Med.all.antiplateletyes   -0.251184   0.160817  -1.562  0.11916    
GFR_MDRD                  -0.002673   0.002595  -1.030  0.30375    
BMI                       -0.014431   0.012431  -1.161  0.24644    
MedHx_CVDyes               0.087307   0.095204   0.917  0.35971    
stenose50-70%             -0.147076   0.682827  -0.215  0.82958    
stenose70-90%              0.250920   0.640614   0.392  0.69551    
stenose90-99%              0.109161   0.638646   0.171  0.86437    
stenose100% (Occlusion)   -0.525487   0.792416  -0.663  0.50765    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8846 on 372 degrees of freedom
Multiple R-squared:  0.1763,    Adjusted R-squared:  0.132 
F-statistic: 3.981 on 20 and 372 DF,  p-value: 4.221e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.15159 
Standard error............: 0.045783 
Odds ratio (effect size)..: 1.164 
Lower 95% CI..............: 1.064 
Upper 95% CI..............: 1.273 
T-value...................: 3.311041 
P-value...................: 0.001020455 
R^2.......................: 0.176297 
Adjusted r^2..............: 0.132012 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
                 0.2322                   0.1319                   0.2406                  -0.2980                  -0.7209                  -0.6714                  -0.1267  
      Med.Statin.LLDyes  Med.all.antiplateletyes  
                -0.1670                  -0.2229  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.58122 -0.59327 -0.07815  0.47692  2.94726 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.535689   0.923791   0.580  0.56235    
currentDF[, TRAIT]         0.128976   0.047814   2.697  0.00730 ** 
Age                        0.003054   0.005827   0.524  0.60051    
Gendermale                 0.261894   0.100154   2.615  0.00929 ** 
ORdate_year2003           -0.305607   0.161091  -1.897  0.05858 .  
ORdate_year2004           -0.717583   0.154948  -4.631 5.03e-06 ***
ORdate_year2005           -0.683182   0.160602  -4.254 2.66e-05 ***
ORdate_year2006           -0.169657   0.273938  -0.619  0.53608    
Hypertension.compositeyes -0.010850   0.137404  -0.079  0.93711    
DiabetesStatusDiabetes     0.128256   0.115423   1.111  0.26721    
SmokerStatusEx-smoker     -0.092908   0.101962  -0.911  0.36277    
SmokerStatusNever smoked   0.034210   0.156992   0.218  0.82762    
Med.Statin.LLDyes         -0.194881   0.106128  -1.836  0.06711 .  
Med.all.antiplateletyes   -0.210397   0.161010  -1.307  0.19211    
GFR_MDRD                  -0.002104   0.002616  -0.804  0.42167    
BMI                       -0.017581   0.012459  -1.411  0.15906    
MedHx_CVDyes               0.065733   0.095694   0.687  0.49257    
stenose50-70%             -0.232299   0.686144  -0.339  0.73513    
stenose70-90%              0.194280   0.643567   0.302  0.76291    
stenose90-99%              0.051038   0.641785   0.080  0.93666    
stenose100% (Occlusion)   -0.663489   0.793925  -0.836  0.40385    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8877 on 373 degrees of freedom
Multiple R-squared:  0.1683,    Adjusted R-squared:  0.1237 
F-statistic: 3.774 on 20 and 373 DF,  p-value: 1.59e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.128976 
Standard error............: 0.047814 
Odds ratio (effect size)..: 1.138 
Lower 95% CI..............: 1.036 
Upper 95% CI..............: 1.249 
T-value...................: 2.697445 
P-value...................: 0.007304536 
R^2.......................: 0.168295 
Adjusted r^2..............: 0.1237 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.all.antiplatelet + GFR_MDRD + BMI + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005          ORdate_year2006  
               0.299744                 0.234674                 0.254394                -0.499441                -0.912211                -1.190647                -0.630062  
Med.all.antiplateletyes                 GFR_MDRD                      BMI            stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
              -0.263382                -0.004663                -0.022174                 0.787113                 1.158240                 0.972748                 0.149026  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.51431 -0.51240 -0.08887  0.42123  2.68181 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.4466456  1.0882270   0.410  0.68177    
currentDF[, TRAIT]         0.2255962  0.0517761   4.357 1.80e-05 ***
Age                        0.0012584  0.0059104   0.213  0.83153    
Gendermale                 0.2790519  0.1032011   2.704  0.00723 ** 
ORdate_year2003           -0.5119534  0.1791660  -2.857  0.00456 ** 
ORdate_year2004           -0.9075844  0.1667312  -5.443 1.07e-07 ***
ORdate_year2005           -1.1992578  0.1923508  -6.235 1.48e-09 ***
ORdate_year2006           -0.6011263  0.2918672  -2.060  0.04028 *  
Hypertension.compositeyes -0.1158818  0.1446547  -0.801  0.42369    
DiabetesStatusDiabetes    -0.0005099  0.1158642  -0.004  0.99649    
SmokerStatusEx-smoker     -0.1115478  0.1034967  -1.078  0.28197    
SmokerStatusNever smoked   0.1514999  0.1645471   0.921  0.35792    
Med.Statin.LLDyes         -0.1040645  0.1070538  -0.972  0.33177    
Med.all.antiplateletyes   -0.2447287  0.1557966  -1.571  0.11725    
GFR_MDRD                  -0.0048051  0.0025205  -1.906  0.05752 .  
BMI                       -0.0215404  0.0129115  -1.668  0.09627 .  
MedHx_CVDyes               0.0534435  0.0984811   0.543  0.58774    
stenose50-70%              0.6816893  0.8742307   0.780  0.43613    
stenose70-90%              1.0790306  0.8381453   1.287  0.19892    
stenose90-99%              0.8728519  0.8369689   1.043  0.29782    
stenose100% (Occlusion)    0.0174804  0.9434566   0.019  0.98523    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8261 on 309 degrees of freedom
Multiple R-squared:  0.2443,    Adjusted R-squared:  0.1954 
F-statistic: 4.994 on 20 and 309 DF,  p-value: 1.109e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.225596 
Standard error............: 0.051776 
Odds ratio (effect size)..: 1.253 
Lower 95% CI..............: 1.132 
Upper 95% CI..............: 1.387 
T-value...................: 4.357153 
P-value...................: 1.795496e-05 
R^2.......................: 0.244292 
Adjusted r^2..............: 0.195379 
Sample size of AE DB......: 2423 
Sample size of model......: 330 
Missing data %............: 86.38052 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD + 
    GFR_MDRD, data = currentDF)

Coefficients:
      (Intercept)         Gendermale    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes           GFR_MDRD  
         0.326961           0.236711          -0.221634          -0.767666          -0.691532          -0.175441          -0.167351          -0.003893  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.57154 -0.61829 -0.05864  0.53451  3.00250 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.6686460  0.9459532   0.707   0.4801    
currentDF[, TRAIT]         0.0304782  0.0486423   0.627   0.5313    
Age                        0.0001302  0.0059898   0.022   0.9827    
Gendermale                 0.2515167  0.1043338   2.411   0.0164 *  
ORdate_year2003           -0.2281038  0.1640758  -1.390   0.1653    
ORdate_year2004           -0.7388702  0.1599674  -4.619 5.37e-06 ***
ORdate_year2005           -0.6968379  0.1638422  -4.253 2.69e-05 ***
ORdate_year2006           -0.2103473  0.3024671  -0.695   0.4872    
Hypertension.compositeyes -0.0254239  0.1411116  -0.180   0.8571    
DiabetesStatusDiabetes     0.0922198  0.1178893   0.782   0.4346    
SmokerStatusEx-smoker     -0.0743725  0.1048733  -0.709   0.4787    
SmokerStatusNever smoked   0.1237773  0.1629165   0.760   0.4479    
Med.Statin.LLDyes         -0.1825671  0.1094023  -1.669   0.0960 .  
Med.all.antiplateletyes   -0.2032226  0.1666655  -1.219   0.2235    
GFR_MDRD                  -0.0029755  0.0026983  -1.103   0.2709    
BMI                       -0.0159516  0.0129552  -1.231   0.2190    
MedHx_CVDyes               0.0868259  0.0983943   0.882   0.3781    
stenose50-70%             -0.1794300  0.6959617  -0.258   0.7967    
stenose70-90%              0.2555452  0.6549512   0.390   0.6966    
stenose90-99%              0.1340792  0.6527678   0.205   0.8374    
stenose100% (Occlusion)   -0.6984350  0.8092434  -0.863   0.3887    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9033 on 363 degrees of freedom
Multiple R-squared:  0.1522,    Adjusted R-squared:  0.1055 
F-statistic:  3.26 on 20 and 363 DF,  p-value: 4.293e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.030478 
Standard error............: 0.048642 
Odds ratio (effect size)..: 1.031 
Lower 95% CI..............: 0.937 
Upper 95% CI..............: 1.134 
T-value...................: 0.626577 
P-value...................: 0.5313304 
R^2.......................: 0.152247 
Adjusted r^2..............: 0.105539 
Sample size of AE DB......: 2423 
Sample size of model......: 384 
Missing data %............: 84.15188 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD + 
    GFR_MDRD, data = currentDF)

Coefficients:
      (Intercept)         Gendermale    ORdate_year2003    ORdate_year2004    ORdate_year2005    ORdate_year2006  Med.Statin.LLDyes           GFR_MDRD  
         0.338098           0.301133          -0.251680          -0.777395          -0.735250          -0.193209          -0.164077          -0.004672  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6803 -0.6070 -0.0518  0.5260  3.1645 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.8044531  0.9438476   0.852  0.39460    
currentDF[, TRAIT]         0.0560660  0.0510532   1.098  0.27284    
Age                       -0.0008547  0.0058626  -0.146  0.88417    
Gendermale                 0.3289459  0.1022646   3.217  0.00141 ** 
ORdate_year2003           -0.2687989  0.1592387  -1.688  0.09225 .  
ORdate_year2004           -0.7543716  0.1531908  -4.924 1.28e-06 ***
ORdate_year2005           -0.7369381  0.1599290  -4.608 5.62e-06 ***
ORdate_year2006           -0.1674271  0.5424294  -0.309  0.75775    
Hypertension.compositeyes -0.0126844  0.1436731  -0.088  0.92970    
DiabetesStatusDiabetes     0.0463723  0.1160518   0.400  0.68970    
SmokerStatusEx-smoker     -0.0792441  0.1035977  -0.765  0.44481    
SmokerStatusNever smoked   0.1075409  0.1600364   0.672  0.50202    
Med.Statin.LLDyes         -0.1730065  0.1062664  -1.628  0.10437    
Med.all.antiplateletyes   -0.2403679  0.1675267  -1.435  0.15219    
GFR_MDRD                  -0.0041004  0.0026164  -1.567  0.11793    
BMI                       -0.0170419  0.0129058  -1.320  0.18749    
MedHx_CVDyes               0.0750652  0.0973810   0.771  0.44130    
stenose50-70%             -0.1072533  0.6899420  -0.155  0.87655    
stenose70-90%              0.2737108  0.6504720   0.421  0.67416    
stenose90-99%              0.1595966  0.6482223   0.246  0.80566    
stenose100% (Occlusion)   -0.6884949  0.8034646  -0.857  0.39205    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8974 on 368 degrees of freedom
Multiple R-squared:  0.1633,    Adjusted R-squared:  0.1179 
F-statistic: 3.592 on 20 and 368 DF,  p-value: 5.192e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.056066 
Standard error............: 0.051053 
Odds ratio (effect size)..: 1.058 
Lower 95% CI..............: 0.957 
Upper 95% CI..............: 1.169 
T-value...................: 1.098188 
P-value...................: 0.2728405 
R^2.......................: 0.163326 
Adjusted r^2..............: 0.117855 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD + BMI, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes            GFR_MDRD  
          0.823385            0.216987            0.209736           -0.256595           -0.762826           -0.765846            0.055867           -0.151716           -0.003546  
               BMI  
         -0.019190  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.90430 -0.55041 -0.07377  0.44086  2.97765 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.4099114  0.9202754   1.532   0.1264    
currentDF[, TRAIT]         0.2192458  0.0486402   4.507 8.83e-06 ***
Age                       -0.0009982  0.0056856  -0.176   0.8607    
Gendermale                 0.2239516  0.1014932   2.207   0.0280 *  
ORdate_year2003           -0.2853285  0.1552681  -1.838   0.0669 .  
ORdate_year2004           -0.7614742  0.1482292  -5.137 4.53e-07 ***
ORdate_year2005           -0.8014470  0.1557124  -5.147 4.32e-07 ***
ORdate_year2006            0.0235618  0.5301464   0.044   0.9646    
Hypertension.compositeyes -0.0653939  0.1379105  -0.474   0.6357    
DiabetesStatusDiabetes     0.1011562  0.1138536   0.888   0.3749    
SmokerStatusEx-smoker     -0.0428219  0.1009383  -0.424   0.6716    
SmokerStatusNever smoked   0.1577907  0.1549460   1.018   0.3092    
Med.Statin.LLDyes         -0.1617359  0.1036411  -1.561   0.1195    
Med.all.antiplateletyes   -0.1789455  0.1633129  -1.096   0.2739    
GFR_MDRD                  -0.0028857  0.0025612  -1.127   0.2606    
BMI                       -0.0256475  0.0126898  -2.021   0.0440 *  
MedHx_CVDyes               0.0692398  0.0948298   0.730   0.4658    
stenose50-70%             -0.5353545  0.6785781  -0.789   0.4307    
stenose70-90%             -0.1694195  0.6414181  -0.264   0.7918    
stenose90-99%             -0.2261302  0.6373611  -0.355   0.7229    
stenose100% (Occlusion)   -1.1926910  0.7912626  -1.507   0.1326    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.875 on 368 degrees of freedom
Multiple R-squared:  0.2045,    Adjusted R-squared:  0.1613 
F-statistic:  4.73 on 20 and 368 DF,  p-value: 3.39e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.219246 
Standard error............: 0.04864 
Odds ratio (effect size)..: 1.245 
Lower 95% CI..............: 1.132 
Upper 95% CI..............: 1.37 
T-value...................: 4.5075 
P-value...................: 8.827215e-06 
R^2.......................: 0.204504 
Adjusted r^2..............: 0.161271 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes            GFR_MDRD  
           0.26923             0.11089             0.27291            -0.25455            -0.74076            -0.71291            -0.04879            -0.16067            -0.00380  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.75413 -0.59568 -0.08101  0.49023  2.99490 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.981648   0.931406   1.054  0.29260    
currentDF[, TRAIT]         0.116487   0.046977   2.480  0.01360 *  
Age                       -0.001322   0.005792  -0.228  0.81953    
Gendermale                 0.282758   0.102188   2.767  0.00594 ** 
ORdate_year2003           -0.274364   0.158155  -1.735  0.08362 .  
ORdate_year2004           -0.739096   0.151687  -4.873 1.64e-06 ***
ORdate_year2005           -0.732502   0.158451  -4.623 5.25e-06 ***
ORdate_year2006           -0.041877   0.541732  -0.077  0.93843    
Hypertension.compositeyes -0.016857   0.140730  -0.120  0.90472    
DiabetesStatusDiabetes     0.070094   0.115758   0.606  0.54520    
SmokerStatusEx-smoker     -0.062740   0.102689  -0.611  0.54160    
SmokerStatusNever smoked   0.116806   0.157807   0.740  0.45966    
Med.Statin.LLDyes         -0.177601   0.105544  -1.683  0.09328 .  
Med.all.antiplateletyes   -0.230107   0.166016  -1.386  0.16657    
GFR_MDRD                  -0.003383   0.002618  -1.292  0.19708    
BMI                       -0.021590   0.012897  -1.674  0.09499 .  
MedHx_CVDyes               0.080841   0.096570   0.837  0.40307    
stenose50-70%             -0.173328   0.685380  -0.253  0.80049    
stenose70-90%              0.201328   0.646574   0.311  0.75569    
stenose90-99%              0.082991   0.644337   0.129  0.89759    
stenose100% (Occlusion)   -0.785658   0.799020  -0.983  0.32612    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8914 on 368 degrees of freedom
Multiple R-squared:  0.1744,    Adjusted R-squared:  0.1295 
F-statistic: 3.886 on 20 and 368 DF,  p-value: 7.919e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.116487 
Standard error............: 0.046977 
Odds ratio (effect size)..: 1.124 
Lower 95% CI..............: 1.025 
Upper 95% CI..............: 1.232 
T-value...................: 2.479671 
P-value...................: 0.01359724 
R^2.......................: 0.174379 
Adjusted r^2..............: 0.129509 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

Analysis of MCP1_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
           0.23530            -0.07964             0.21501            -0.15491            -0.55216            -0.37803             0.67483  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4049 -0.7012 -0.0038  0.5859  2.3840 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.848283   1.047428   1.765 0.078502 .  
currentDF[, TRAIT]        -0.101148   0.053804  -1.880 0.060946 .  
Age                       -0.011740   0.006831  -1.719 0.086554 .  
Gendermale                 0.267209   0.121010   2.208 0.027879 *  
ORdate_year2003           -0.184561   0.165265  -1.117 0.264864    
ORdate_year2004           -0.545484   0.159587  -3.418 0.000705 ***
ORdate_year2005           -0.366003   0.187541  -1.952 0.051782 .  
ORdate_year2006            0.518191   1.022887   0.507 0.612756    
Hypertension.compositeyes -0.210624   0.155553  -1.354 0.176597    
DiabetesStatusDiabetes    -0.106744   0.137434  -0.777 0.437860    
SmokerStatusEx-smoker      0.061633   0.119038   0.518 0.604953    
SmokerStatusNever smoked   0.330852   0.180023   1.838 0.066933 .  
Med.Statin.LLDyes         -0.159744   0.118760  -1.345 0.179461    
Med.all.antiplateletyes    0.252134   0.205162   1.229 0.219913    
GFR_MDRD                  -0.002995   0.003074  -0.974 0.330633    
BMI                       -0.006828   0.015322  -0.446 0.656138    
MedHx_CVDyes               0.054650   0.110418   0.495 0.620957    
stenose50-70%             -0.466439   0.777976  -0.600 0.549190    
stenose70-90%             -0.478441   0.713241  -0.671 0.502790    
stenose90-99%             -0.506488   0.712093  -0.711 0.477392    
stenose100% (Occlusion)   -0.610468   0.885679  -0.689 0.491112    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.983 on 351 degrees of freedom
Multiple R-squared:  0.08883,   Adjusted R-squared:  0.03691 
F-statistic: 1.711 on 20 and 351 DF,  p-value: 0.02987

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.101148 
Standard error............: 0.053804 
Odds ratio (effect size)..: 0.904 
Lower 95% CI..............: 0.813 
Upper 95% CI..............: 1.004 
T-value...................: -1.879925 
P-value...................: 0.0609463 
R^2.......................: 0.088833 
Adjusted r^2..............: 0.036915 
Sample size of AE DB......: 2423 
Sample size of model......: 372 
Missing data %............: 84.64713 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  
        0.10618          0.30893         -0.07914         -0.49442         -0.37080  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3931 -0.6475  0.0000  0.6287  2.4924 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)   
(Intercept)                1.486476   1.301703   1.142  0.25432   
currentDF[, TRAIT]        -0.055618   0.057804  -0.962  0.33667   
Age                       -0.014363   0.007283  -1.972  0.04945 * 
Gendermale                 0.354824   0.128867   2.753  0.00623 **
ORdate_year2003           -0.120201   0.170495  -0.705  0.48131   
ORdate_year2004           -0.511441   0.164941  -3.101  0.00210 **
ORdate_year2005           -0.336604   0.210683  -1.598  0.11109   
Hypertension.compositeyes -0.105245   0.165041  -0.638  0.52413   
DiabetesStatusDiabetes    -0.127010   0.144714  -0.878  0.38078   
SmokerStatusEx-smoker      0.086406   0.124243   0.695  0.48727   
SmokerStatusNever smoked   0.331539   0.189531   1.749  0.08120 . 
Med.Statin.LLDyes         -0.145743   0.126117  -1.156  0.24869   
Med.all.antiplateletyes    0.153953   0.218802   0.704  0.48218   
GFR_MDRD                  -0.004264   0.003483  -1.224  0.22168   
BMI                       -0.001818   0.016438  -0.111  0.91198   
MedHx_CVDyes               0.060857   0.116569   0.522  0.60198   
stenose50-70%             -0.078947   1.072694  -0.074  0.94138   
stenose70-90%             -0.121344   1.026800  -0.118  0.90600   
stenose90-99%             -0.145174   1.023649  -0.142  0.88731   
stenose100% (Occlusion)   -0.231865   1.157149  -0.200  0.84131   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9965 on 323 degrees of freedom
Multiple R-squared:  0.08632,   Adjusted R-squared:  0.03257 
F-statistic: 1.606 on 19 and 323 DF,  p-value: 0.05288

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.055618 
Standard error............: 0.057804 
Odds ratio (effect size)..: 0.946 
Lower 95% CI..............: 0.845 
Upper 95% CI..............: 1.059 
T-value...................: -0.962188 
P-value...................: 0.3366749 
R^2.......................: 0.086319 
Adjusted r^2..............: 0.032573 
Sample size of AE DB......: 2423 
Sample size of model......: 343 
Missing data %............: 85.844 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005   Med.Statin.LLDyes  
           1.12214            -0.13824            -0.01092             0.29015            -0.25261            -0.57500            -0.37475            -0.21141  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5687 -0.6862 -0.0048  0.6209  2.3100 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.903143   1.252632   1.519 0.129602    
currentDF[, TRAIT]        -0.144817   0.055107  -2.628 0.008976 ** 
Age                       -0.016151   0.006981  -2.313 0.021289 *  
Gendermale                 0.344463   0.121217   2.842 0.004755 ** 
ORdate_year2003           -0.267518   0.167413  -1.598 0.110973    
ORdate_year2004           -0.590545   0.161143  -3.665 0.000287 ***
ORdate_year2005           -0.366374   0.195788  -1.871 0.062155 .  
Hypertension.compositeyes -0.098017   0.155401  -0.631 0.528633    
DiabetesStatusDiabetes    -0.144241   0.139146  -1.037 0.300644    
SmokerStatusEx-smoker      0.054103   0.119212   0.454 0.650231    
SmokerStatusNever smoked   0.298490   0.183945   1.623 0.105568    
Med.Statin.LLDyes         -0.227432   0.119616  -1.901 0.058093 .  
Med.all.antiplateletyes    0.161901   0.210509   0.769 0.442366    
GFR_MDRD                  -0.004499   0.003182  -1.414 0.158348    
BMI                       -0.004071   0.015091  -0.270 0.787493    
MedHx_CVDyes               0.098741   0.110851   0.891 0.373686    
stenose50-70%             -0.049307   1.053748  -0.047 0.962706    
stenose70-90%             -0.184517   1.007450  -0.183 0.854787    
stenose90-99%             -0.197154   1.005255  -0.196 0.844630    
stenose100% (Occlusion)   -0.379178   1.134974  -0.334 0.738519    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9809 on 344 degrees of freedom
Multiple R-squared:  0.1013,    Adjusted R-squared:  0.05164 
F-statistic:  2.04 on 19 and 344 DF,  p-value: 0.006619

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.144817 
Standard error............: 0.055107 
Odds ratio (effect size)..: 0.865 
Lower 95% CI..............: 0.777 
Upper 95% CI..............: 0.964 
T-value...................: -2.62792 
P-value...................: 0.008975765 
R^2.......................: 0.101274 
Adjusted r^2..............: 0.051635 
Sample size of AE DB......: 2423 
Sample size of model......: 364 
Missing data %............: 84.9773 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.2104           0.2316          -0.1363          -0.5066          -0.3522           0.8614  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2724 -0.6452 -0.0209  0.6350  2.4711 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)   
(Intercept)                1.759403   0.976668   1.801  0.07247 . 
currentDF[, TRAIT]         0.030563   0.054038   0.566  0.57204   
Age                       -0.014444   0.007030  -2.055  0.04063 * 
Gendermale                 0.294443   0.121366   2.426  0.01575 * 
ORdate_year2003           -0.133605   0.165694  -0.806  0.42058   
ORdate_year2004           -0.469786   0.157871  -2.976  0.00312 **
ORdate_year2005           -0.334514   0.184009  -1.818  0.06990 . 
ORdate_year2006            0.801630   1.027347   0.780  0.43573   
Hypertension.compositeyes -0.143471   0.156798  -0.915  0.36080   
DiabetesStatusDiabetes    -0.077917   0.136994  -0.569  0.56987   
SmokerStatusEx-smoker      0.101893   0.117760   0.865  0.38747   
SmokerStatusNever smoked   0.351952   0.180921   1.945  0.05251 . 
Med.Statin.LLDyes         -0.157046   0.118196  -1.329  0.18479   
Med.all.antiplateletyes    0.176871   0.191928   0.922  0.35738   
GFR_MDRD                  -0.004154   0.003148  -1.319  0.18789   
BMI                       -0.011718   0.014388  -0.814  0.41596   
MedHx_CVDyes               0.048168   0.109822   0.439  0.66122   
stenose50-70%             -0.128799   0.655278  -0.197  0.84429   
stenose70-90%             -0.044582   0.596101  -0.075  0.94042   
stenose90-99%             -0.100930   0.594381  -0.170  0.86526   
stenose100% (Occlusion)   -0.235144   0.799025  -0.294  0.76871   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9961 on 361 degrees of freedom
Multiple R-squared:  0.0788,    Adjusted R-squared:  0.02776 
F-statistic: 1.544 on 20 and 361 DF,  p-value: 0.06424

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.030563 
Standard error............: 0.054038 
Odds ratio (effect size)..: 1.031 
Lower 95% CI..............: 0.927 
Upper 95% CI..............: 1.146 
T-value...................: 0.56557 
P-value...................: 0.5720374 
R^2.......................: 0.078797 
Adjusted r^2..............: 0.027761 
Sample size of AE DB......: 2423 
Sample size of model......: 382 
Missing data %............: 84.23442 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.all.antiplatelet + GFR_MDRD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005  
                 1.746047                   0.320534                  -0.017912                   0.316057                  -0.233243                  -0.634237                  -0.644911  
          ORdate_year2006  Hypertension.compositeyes     DiabetesStatusDiabetes      SmokerStatusEx-smoker   SmokerStatusNever smoked    Med.all.antiplateletyes                   GFR_MDRD  
                -0.597377                  -0.241263                  -0.191609                   0.094128                   0.377339                   0.315498                  -0.005266  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2966 -0.6066 -0.0329  0.6210  2.4949 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.277405   0.909206   2.505 0.012709 *  
currentDF[, TRAIT]         0.320233   0.052086   6.148 2.15e-09 ***
Age                       -0.018894   0.006551  -2.884 0.004169 ** 
Gendermale                 0.322043   0.114438   2.814 0.005170 ** 
ORdate_year2003           -0.231115   0.156692  -1.475 0.141131    
ORdate_year2004           -0.614216   0.150277  -4.087 5.43e-05 ***
ORdate_year2005           -0.653710   0.173009  -3.778 0.000186 ***
ORdate_year2006           -0.558391   0.558774  -0.999 0.318339    
Hypertension.compositeyes -0.213410   0.149883  -1.424 0.155391    
DiabetesStatusDiabetes    -0.162752   0.130152  -1.250 0.211969    
SmokerStatusEx-smoker      0.104168   0.110792   0.940 0.347759    
SmokerStatusNever smoked   0.415486   0.176193   2.358 0.018921 *  
Med.Statin.LLDyes         -0.098911   0.110817  -0.893 0.372708    
Med.all.antiplateletyes    0.300771   0.176441   1.705 0.089154 .  
GFR_MDRD                  -0.005270   0.002840  -1.856 0.064309 .  
BMI                       -0.017022   0.013462  -1.264 0.206919    
MedHx_CVDyes               0.028785   0.104263   0.276 0.782653    
stenose50-70%              0.003125   0.617269   0.005 0.995963    
stenose70-90%              0.061496   0.555425   0.111 0.911903    
stenose90-99%             -0.027594   0.555208  -0.050 0.960389    
stenose100% (Occlusion)   -0.629759   0.729712  -0.863 0.388720    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9295 on 347 degrees of freedom
Multiple R-squared:  0.1996,    Adjusted R-squared:  0.1534 
F-statistic: 4.326 on 20 and 347 DF,  p-value: 5.356e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.320233 
Standard error............: 0.052086 
Odds ratio (effect size)..: 1.377 
Lower 95% CI..............: 1.244 
Upper 95% CI..............: 1.525 
T-value...................: 6.148217 
P-value...................: 2.15447e-09 
R^2.......................: 0.199579 
Adjusted r^2..............: 0.153445 
Sample size of AE DB......: 2423 
Sample size of model......: 368 
Missing data %............: 84.81222 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes  
           0.31212             0.27560             0.29723             0.05936            -0.60422            -0.54485            -0.91781            -0.13908  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.05144 -0.61291 -0.06995  0.60519  2.63870 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.334683   0.791831   1.686 0.092610 .  
currentDF[, TRAIT]         0.268352   0.042406   6.328 6.28e-10 ***
Age                       -0.007407   0.005594  -1.324 0.186192    
Gendermale                 0.316749   0.096903   3.269 0.001168 ** 
ORdate_year2003            0.029965   0.146829   0.204 0.838389    
ORdate_year2004           -0.591826   0.137004  -4.320 1.94e-05 ***
ORdate_year2005           -0.534007   0.137073  -3.896 0.000114 ***
ORdate_year2006           -0.891648   0.229144  -3.891 0.000116 ***
Hypertension.compositeyes -0.121691   0.129489  -0.940 0.347864    
DiabetesStatusDiabetes    -0.117500   0.110493  -1.063 0.288195    
SmokerStatusEx-smoker      0.035250   0.096643   0.365 0.715480    
SmokerStatusNever smoked   0.126922   0.139800   0.908 0.364451    
Med.Statin.LLDyes         -0.151524   0.100396  -1.509 0.131971    
Med.all.antiplateletyes    0.066243   0.156609   0.423 0.672519    
GFR_MDRD                  -0.001649   0.002380  -0.693 0.488885    
BMI                       -0.009385   0.011390  -0.824 0.410419    
MedHx_CVDyes               0.044254   0.090683   0.488 0.625794    
stenose50-70%             -0.300550   0.569894  -0.527 0.598204    
stenose70-90%             -0.149477   0.525154  -0.285 0.776061    
stenose90-99%             -0.154885   0.523596  -0.296 0.767519    
stenose100% (Occlusion)   -0.784568   0.664605  -1.181 0.238458    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8855 on 427 degrees of freedom
Multiple R-squared:  0.219, Adjusted R-squared:  0.1824 
F-statistic: 5.985 on 20 and 427 DF,  p-value: 5.172e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.268352 
Standard error............: 0.042406 
Odds ratio (effect size)..: 1.308 
Lower 95% CI..............: 1.204 
Upper 95% CI..............: 1.421 
T-value...................: 6.328117 
P-value...................: 6.279561e-10 
R^2.......................: 0.218953 
Adjusted r^2..............: 0.182371 
Sample size of AE DB......: 2423 
Sample size of model......: 448 
Missing data %............: 81.51052 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005   Med.Statin.LLDyes            GFR_MDRD  
           1.66777            -0.15368            -0.01527             0.34483            -0.16360            -0.56370            -0.22898            -0.23441            -0.00475  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4848 -0.6137 -0.0184  0.6148  2.2746 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.433177   1.323805   1.838 0.067032 .  
currentDF[, TRAIT]        -0.168926   0.060679  -2.784 0.005706 ** 
Age                       -0.018124   0.007485  -2.421 0.016042 *  
Gendermale                 0.377838   0.131800   2.867 0.004436 ** 
ORdate_year2003           -0.204996   0.174336  -1.176 0.240564    
ORdate_year2004           -0.590085   0.169259  -3.486 0.000562 ***
ORdate_year2005           -0.259823   0.234085  -1.110 0.267894    
Hypertension.compositeyes -0.165915   0.173430  -0.957 0.339494    
DiabetesStatusDiabetes    -0.071867   0.149057  -0.482 0.630048    
SmokerStatusEx-smoker      0.072528   0.128165   0.566 0.571883    
SmokerStatusNever smoked   0.333142   0.193268   1.724 0.085770 .  
Med.Statin.LLDyes         -0.243407   0.128434  -1.895 0.059012 .  
Med.all.antiplateletyes    0.108766   0.234275   0.464 0.642788    
GFR_MDRD                  -0.005019   0.003529  -1.422 0.156055    
BMI                       -0.010762   0.016583  -0.649 0.516865    
MedHx_CVDyes               0.031011   0.122242   0.254 0.799907    
stenose50-70%             -0.303753   1.079896  -0.281 0.778687    
stenose70-90%             -0.304863   1.027481  -0.297 0.766891    
stenose90-99%             -0.291901   1.025009  -0.285 0.776007    
stenose100% (Occlusion)   -0.824624   1.216891  -0.678 0.498508    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9955 on 305 degrees of freedom
Multiple R-squared:  0.113, Adjusted R-squared:  0.05771 
F-statistic: 2.044 on 19 and 305 DF,  p-value: 0.006742

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.168926 
Standard error............: 0.060679 
Odds ratio (effect size)..: 0.845 
Lower 95% CI..............: 0.75 
Upper 95% CI..............: 0.951 
T-value...................: -2.783917 
P-value...................: 0.005706097 
R^2.......................: 0.112963 
Adjusted r^2..............: 0.057705 
Sample size of AE DB......: 2423 
Sample size of model......: 325 
Missing data %............: 86.58688 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005   Med.Statin.LLDyes  
           0.25829            -0.10927             0.29482            -0.08404            -0.48430            -0.35556            -0.17322  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6020 -0.6429 -0.0080  0.6231  2.3950 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)   
(Intercept)                1.760489   1.299745   1.354  0.17653   
currentDF[, TRAIT]        -0.120052   0.057487  -2.088  0.03755 * 
Age                       -0.014300   0.007311  -1.956  0.05133 . 
Gendermale                 0.377303   0.126183   2.990  0.00300 **
ORdate_year2003           -0.119471   0.171834  -0.695  0.48738   
ORdate_year2004           -0.489444   0.163387  -2.996  0.00295 **
ORdate_year2005           -0.344317   0.214341  -1.606  0.10916   
Hypertension.compositeyes -0.119065   0.165822  -0.718  0.47326   
DiabetesStatusDiabetes    -0.062871   0.142360  -0.442  0.65905   
SmokerStatusEx-smoker      0.027143   0.125642   0.216  0.82909   
SmokerStatusNever smoked   0.301946   0.186033   1.623  0.10555   
Med.Statin.LLDyes         -0.206909   0.126019  -1.642  0.10159   
Med.all.antiplateletyes    0.190588   0.214277   0.889  0.37443   
GFR_MDRD                  -0.004761   0.003391  -1.404  0.16128   
BMI                       -0.007759   0.016332  -0.475  0.63506   
MedHx_CVDyes               0.072183   0.116227   0.621  0.53501   
stenose50-70%             -0.166068   1.062755  -0.156  0.87592   
stenose70-90%             -0.172888   1.017062  -0.170  0.86513   
stenose90-99%             -0.201607   1.013750  -0.199  0.84249   
stenose100% (Occlusion)   -0.429050   1.176227  -0.365  0.71552   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9871 on 323 degrees of freedom
Multiple R-squared:  0.09763,   Adjusted R-squared:  0.04455 
F-statistic: 1.839 on 19 and 323 DF,  p-value: 0.01817

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.120052 
Standard error............: 0.057487 
Odds ratio (effect size)..: 0.887 
Lower 95% CI..............: 0.792 
Upper 95% CI..............: 0.993 
T-value...................: -2.08834 
P-value...................: 0.03754997 
R^2.......................: 0.097629 
Adjusted r^2..............: 0.044548 
Sample size of AE DB......: 2423 
Sample size of model......: 343 
Missing data %............: 85.844 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.7084                     0.4117                     0.2230                    -0.4286                    -0.8308                    -0.7895                    -1.0289  
Hypertension.compositeyes          Med.Statin.LLDyes  
                  -0.1656                    -0.1294  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6322 -0.6262 -0.0719  0.6089  2.3823 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.411e+00  7.795e-01   1.810  0.07092 .  
currentDF[, TRAIT]         4.054e-01  4.186e-02   9.685  < 2e-16 ***
Age                       -2.610e-03  5.344e-03  -0.488  0.62554    
Gendermale                 2.326e-01  9.269e-02   2.510  0.01242 *  
ORdate_year2003           -4.337e-01  1.426e-01  -3.042  0.00248 ** 
ORdate_year2004           -8.206e-01  1.381e-01  -5.943 5.41e-09 ***
ORdate_year2005           -7.948e-01  1.398e-01  -5.685 2.29e-08 ***
ORdate_year2006           -1.012e+00  2.301e-01  -4.397 1.35e-05 ***
Hypertension.compositeyes -1.516e-01  1.217e-01  -1.246  0.21355    
DiabetesStatusDiabetes    -6.280e-02  1.031e-01  -0.609  0.54277    
SmokerStatusEx-smoker      7.175e-03  9.192e-02   0.078  0.93781    
SmokerStatusNever smoked   9.541e-02  1.364e-01   0.699  0.48458    
Med.Statin.LLDyes         -1.452e-01  9.512e-02  -1.526  0.12762    
Med.all.antiplateletyes    3.044e-02  1.460e-01   0.209  0.83492    
GFR_MDRD                  -1.927e-05  2.293e-03  -0.008  0.99330    
BMI                       -1.158e-02  1.091e-02  -1.061  0.28914    
MedHx_CVDyes               2.354e-02  8.590e-02   0.274  0.78415    
stenose50-70%             -3.405e-01  5.687e-01  -0.599  0.54959    
stenose70-90%             -2.424e-01  5.276e-01  -0.460  0.64607    
stenose90-99%             -2.839e-01  5.263e-01  -0.539  0.58980    
stenose100% (Occlusion)   -8.155e-01  6.675e-01  -1.222  0.22237    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8918 on 476 degrees of freedom
Multiple R-squared:  0.2518,    Adjusted R-squared:  0.2204 
F-statistic: 8.011 on 20 and 476 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.40537 
Standard error............: 0.041856 
Odds ratio (effect size)..: 1.5 
Lower 95% CI..............: 1.382 
Upper 95% CI..............: 1.628 
T-value...................: 9.684912 
P-value...................: 2.286334e-20 
R^2.......................: 0.251827 
Adjusted r^2..............: 0.220391 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.6197                     0.3659                     0.2233                    -0.3950                    -0.7946                    -0.7503                    -1.0267  
Hypertension.compositeyes  
                  -0.2089  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5724 -0.6658 -0.0753  0.5936  2.3724 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.5847839  0.7987640   1.984  0.04782 *  
currentDF[, TRAIT]         0.3604917  0.0428612   8.411 4.76e-16 ***
Age                       -0.0046079  0.0054566  -0.844  0.39884    
Gendermale                 0.2327429  0.0949004   2.452  0.01454 *  
ORdate_year2003           -0.3932853  0.1451318  -2.710  0.00697 ** 
ORdate_year2004           -0.7656537  0.1408802  -5.435 8.77e-08 ***
ORdate_year2005           -0.7349384  0.1425936  -5.154 3.74e-07 ***
ORdate_year2006           -0.9650642  0.2357760  -4.093 5.00e-05 ***
Hypertension.compositeyes -0.1821238  0.1246139  -1.462  0.14454    
DiabetesStatusDiabetes    -0.0794686  0.1056597  -0.752  0.45235    
SmokerStatusEx-smoker      0.0227465  0.0939926   0.242  0.80888    
SmokerStatusNever smoked   0.1289001  0.1396774   0.923  0.35656    
Med.Statin.LLDyes         -0.1341216  0.0973676  -1.377  0.16901    
Med.all.antiplateletyes    0.0275211  0.1497367   0.184  0.85425    
GFR_MDRD                  -0.0001929  0.0023500  -0.082  0.93463    
BMI                       -0.0132500  0.0111897  -1.184  0.23696    
MedHx_CVDyes               0.0307600  0.0878726   0.350  0.72645    
stenose50-70%             -0.3868357  0.5828365  -0.664  0.50720    
stenose70-90%             -0.2602515  0.5408091  -0.481  0.63058    
stenose90-99%             -0.3053022  0.5395082  -0.566  0.57173    
stenose100% (Occlusion)   -0.9487593  0.6840086  -1.387  0.16607    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9142 on 477 degrees of freedom
Multiple R-squared:  0.2193,    Adjusted R-squared:  0.1866 
F-statistic:   6.7 on 20 and 477 DF,  p-value: 2.546e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.360492 
Standard error............: 0.042861 
Odds ratio (effect size)..: 1.434 
Lower 95% CI..............: 1.318 
Upper 95% CI..............: 1.56 
T-value...................: 8.410682 
P-value...................: 4.761059e-16 
R^2.......................: 0.219306 
Adjusted r^2..............: 0.186572 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
    (Intercept)       Gendermale  ORdate_year2003  ORdate_year2004  ORdate_year2005  ORdate_year2006  
         0.1370           0.3631          -0.1473          -0.5341          -0.5197          -1.2411  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3447 -0.6496  0.0000  0.6491  2.6895 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.682312   0.977635   1.721 0.086181 .  
currentDF[, TRAIT]        -0.097580   0.057826  -1.687 0.092415 .  
Age                       -0.012809   0.007004  -1.829 0.068310 .  
Gendermale                 0.372336   0.123069   3.025 0.002669 ** 
ORdate_year2003           -0.217345   0.167966  -1.294 0.196533    
ORdate_year2004           -0.591412   0.161244  -3.668 0.000283 ***
ORdate_year2005           -0.593979   0.200030  -2.969 0.003192 ** 
ORdate_year2006           -1.600518   1.028025  -1.557 0.120412    
Hypertension.compositeyes -0.036781   0.162348  -0.227 0.820902    
DiabetesStatusDiabetes    -0.059012   0.136010  -0.434 0.664644    
SmokerStatusEx-smoker      0.159400   0.120064   1.328 0.185177    
SmokerStatusNever smoked   0.354197   0.181567   1.951 0.051890 .  
Med.Statin.LLDyes         -0.178313   0.122510  -1.456 0.146437    
Med.all.antiplateletyes    0.134618   0.195416   0.689 0.491362    
GFR_MDRD                  -0.002009   0.003091  -0.650 0.516140    
BMI                       -0.017970   0.014645  -1.227 0.220653    
MedHx_CVDyes               0.071411   0.113773   0.628 0.530640    
stenose50-70%              0.079320   0.673447   0.118 0.906309    
stenose70-90%             -0.188459   0.595379  -0.317 0.751787    
stenose90-99%             -0.111600   0.594907  -0.188 0.851307    
stenose100% (Occlusion)   -0.410901   0.844306  -0.487 0.626798    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9936 on 346 degrees of freedom
Multiple R-squared:  0.1001,    Adjusted R-squared:  0.04812 
F-statistic: 1.925 on 20 and 346 DF,  p-value: 0.01035

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.09758 
Standard error............: 0.057826 
Odds ratio (effect size)..: 0.907 
Lower 95% CI..............: 0.81 
Upper 95% CI..............: 1.016 
T-value...................: -1.687465 
P-value...................: 0.09241517 
R^2.......................: 0.100138 
Adjusted r^2..............: 0.048122 
Sample size of AE DB......: 2423 
Sample size of model......: 367 
Missing data %............: 84.85349 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.all.antiplatelet, 
    data = currentDF)

Coefficients:
            (Intercept)               Gendermale          ORdate_year2003          ORdate_year2004          ORdate_year2005  Med.all.antiplateletyes  
               -0.29272                  0.28620                 -0.05321                 -0.42616                 -0.23496                  0.37042  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3833 -0.6541  0.0224  0.5984  2.5513 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)   
(Intercept)                1.670758   1.289679   1.295  0.19610   
currentDF[, TRAIT]        -0.024005   0.058343  -0.411  0.68102   
Age                       -0.015070   0.007232  -2.084  0.03798 * 
Gendermale                 0.348552   0.127149   2.741  0.00647 **
ORdate_year2003           -0.074712   0.176557  -0.423  0.67247   
ORdate_year2004           -0.415875   0.173406  -2.398  0.01705 * 
ORdate_year2005           -0.219727   0.211493  -1.039  0.29963   
Hypertension.compositeyes -0.112492   0.166351  -0.676  0.49939   
DiabetesStatusDiabetes    -0.098186   0.143790  -0.683  0.49520   
SmokerStatusEx-smoker      0.057961   0.126002   0.460  0.64583   
SmokerStatusNever smoked   0.396289   0.188102   2.107  0.03592 * 
Med.Statin.LLDyes         -0.185508   0.125345  -1.480  0.13987   
Med.all.antiplateletyes    0.317760   0.224683   1.414  0.15827   
GFR_MDRD                  -0.003597   0.003383  -1.063  0.28845   
BMI                       -0.012674   0.016120  -0.786  0.43230   
MedHx_CVDyes               0.029650   0.118697   0.250  0.80291   
stenose50-70%             -0.201872   1.064060  -0.190  0.84965   
stenose70-90%             -0.173288   1.018696  -0.170  0.86503   
stenose90-99%             -0.230479   1.017355  -0.227  0.82092   
stenose100% (Occlusion)   -0.750642   1.268893  -0.592  0.55456   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9906 on 316 degrees of freedom
Multiple R-squared:  0.09163,   Adjusted R-squared:  0.03701 
F-statistic: 1.678 on 19 and 316 DF,  p-value: 0.03862

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.024005 
Standard error............: 0.058343 
Odds ratio (effect size)..: 0.976 
Lower 95% CI..............: 0.871 
Upper 95% CI..............: 1.095 
T-value...................: -0.411449 
P-value...................: 0.6810222 
R^2.......................: 0.091631 
Adjusted r^2..............: 0.037014 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale   Med.Statin.LLDyes  
          -0.02938             0.39025             0.22422            -0.16262  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1820 -0.6122 -0.0160  0.6373  2.6385 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.106946   0.813735   1.360  0.17437    
currentDF[, TRAIT]         0.368110   0.050375   7.307 1.15e-12 ***
Age                       -0.006395   0.005529  -1.157  0.24799    
Gendermale                 0.256464   0.096261   2.664  0.00798 ** 
ORdate_year2003           -0.202603   0.145424  -1.393  0.16421    
ORdate_year2004           -0.190072   0.148023  -1.284  0.19974    
ORdate_year2005           -0.220313   0.150646  -1.462  0.14427    
ORdate_year2006           -0.512689   0.247465  -2.072  0.03882 *  
Hypertension.compositeyes -0.161706   0.126770  -1.276  0.20272    
DiabetesStatusDiabetes    -0.006809   0.107850  -0.063  0.94969    
SmokerStatusEx-smoker      0.149665   0.095272   1.571  0.11686    
SmokerStatusNever smoked   0.321505   0.140927   2.281  0.02297 *  
Med.Statin.LLDyes         -0.147579   0.098960  -1.491  0.13654    
Med.all.antiplateletyes    0.070711   0.151873   0.466  0.64172    
GFR_MDRD                   0.001537   0.002408   0.638  0.52357    
BMI                       -0.014754   0.011380  -1.296  0.19544    
MedHx_CVDyes               0.011720   0.089326   0.131  0.89567    
stenose50-70%             -0.419061   0.592269  -0.708  0.47957    
stenose70-90%             -0.269334   0.549588  -0.490  0.62431    
stenose90-99%             -0.330280   0.548328  -0.602  0.54723    
stenose100% (Occlusion)   -0.879931   0.695157  -1.266  0.20620    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.929 on 477 degrees of freedom
Multiple R-squared:  0.1938,    Adjusted R-squared:   0.16 
F-statistic: 5.733 on 20 and 477 DF,  p-value: 1.843e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.36811 
Standard error............: 0.050375 
Odds ratio (effect size)..: 1.445 
Lower 95% CI..............: 1.309 
Upper 95% CI..............: 1.595 
T-value...................: 7.307443 
P-value...................: 1.153927e-12 
R^2.......................: 0.193782 
Adjusted r^2..............: 0.159978 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MCP1_rank
attempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsense

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + GFR_MDRD, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]            GFR_MDRD  
         1.493e-17           1.000e+00          -2.237e-19  
essentially perfect fit: summary may be unreliable

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
       Min         1Q     Median         3Q        Max 
-1.517e-16 -2.374e-17 -1.570e-18  1.826e-17  5.424e-16 

Coefficients:
                            Estimate Std. Error    t value Pr(>|t|)    
(Intercept)                9.950e-18  4.886e-17  2.040e-01    0.839    
currentDF[, TRAIT]         1.000e+00  2.605e-18  3.839e+17   <2e-16 ***
Age                        1.203e-19  3.316e-19  3.630e-01    0.717    
Gendermale                 3.821e-18  5.814e-18  6.570e-01    0.511    
ORdate_year2003            1.896e-18  8.738e-18  2.170e-01    0.828    
ORdate_year2004           -5.142e-18  8.536e-18 -6.020e-01    0.547    
ORdate_year2005           -3.734e-18  8.722e-18 -4.280e-01    0.669    
ORdate_year2006            8.825e-18  1.459e-17  6.050e-01    0.546    
Hypertension.compositeyes  1.104e-18  7.614e-18  1.450e-01    0.885    
DiabetesStatusDiabetes     3.394e-18  6.445e-18  5.270e-01    0.599    
SmokerStatusEx-smoker     -2.418e-18  5.708e-18 -4.240e-01    0.672    
SmokerStatusNever smoked   3.067e-18  8.478e-18  3.620e-01    0.718    
Med.Statin.LLDyes         -2.693e-18  5.947e-18 -4.530e-01    0.651    
Med.all.antiplateletyes   -2.875e-18  9.104e-18 -3.160e-01    0.752    
GFR_MDRD                  -2.044e-19  1.432e-19 -1.427e+00    0.154    
BMI                        4.587e-19  6.826e-19  6.720e-01    0.502    
MedHx_CVDyes               1.970e-18  5.358e-18  3.680e-01    0.713    
stenose50-70%             -7.133e-18  3.555e-17 -2.010e-01    0.841    
stenose70-90%             -1.351e-17  3.298e-17 -4.100e-01    0.682    
stenose90-99%             -1.225e-17  3.290e-17 -3.720e-01    0.710    
stenose100% (Occlusion)    2.041e-17  4.178e-17  4.890e-01    0.625    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.573e-17 on 477 degrees of freedom
Multiple R-squared:      1, Adjusted R-squared:      1 
F-statistic: 8.219e+33 on 20 and 477 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MCP1_rank ' .
essentially perfect fit: summary may be unreliable
Collecting data.
essentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliable
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 1 
Standard error............: 0 
Odds ratio (effect size)..: 2.718 
Lower 95% CI..............: 2.718 
Upper 95% CI..............: 2.718 
T-value...................: 3.838704e+17 
P-value...................: 0 
R^2.......................: 1 
Adjusted r^2..............: 1 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale         ORdate_year2003         ORdate_year2004         ORdate_year2005         ORdate_year2006  DiabetesStatusDiabetes  
               0.34170                 0.34792                 0.21872                 0.01273                -0.67674                -0.62317                -0.90498                -0.14902  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.85964 -0.62199 -0.05546  0.53987  2.80125 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.511020   0.767382   1.969  0.04958 *  
currentDF[, TRAIT]         0.341430   0.041926   8.144 4.03e-15 ***
Age                       -0.006624   0.005397  -1.227  0.22036    
Gendermale                 0.242232   0.094257   2.570  0.01050 *  
ORdate_year2003           -0.011709   0.140843  -0.083  0.93378    
ORdate_year2004           -0.654808   0.134143  -4.881 1.48e-06 ***
ORdate_year2005           -0.616772   0.134140  -4.598 5.59e-06 ***
ORdate_year2006           -0.856247   0.223927  -3.824  0.00015 ***
Hypertension.compositeyes -0.088229   0.123983  -0.712  0.47708    
DiabetesStatusDiabetes    -0.122595   0.104651  -1.171  0.24205    
SmokerStatusEx-smoker     -0.005287   0.093389  -0.057  0.95488    
SmokerStatusNever smoked   0.125724   0.135395   0.929  0.35362    
Med.Statin.LLDyes         -0.123126   0.096924  -1.270  0.20464    
Med.all.antiplateletyes    0.066835   0.151188   0.442  0.65866    
GFR_MDRD                  -0.000337   0.002290  -0.147  0.88307    
BMI                       -0.012508   0.010904  -1.147  0.25194    
MedHx_CVDyes               0.033628   0.087530   0.384  0.70102    
stenose50-70%             -0.438874   0.556519  -0.789  0.43077    
stenose70-90%             -0.294956   0.513095  -0.575  0.56568    
stenose90-99%             -0.337677   0.511544  -0.660  0.50953    
stenose100% (Occlusion)   -0.960749   0.649425  -1.479  0.13976    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8658 on 438 degrees of freedom
Multiple R-squared:  0.2531,    Adjusted R-squared:  0.219 
F-statistic: 7.421 on 20 and 438 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.34143 
Standard error............: 0.041926 
Odds ratio (effect size)..: 1.407 
Lower 95% CI..............: 1.296 
Upper 95% CI..............: 1.527 
T-value...................: 8.143573 
P-value...................: 4.034538e-15 
R^2.......................: 0.253098 
Adjusted r^2..............: 0.218993 
Sample size of AE DB......: 2423 
Sample size of model......: 459 
Missing data %............: 81.05654 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                  0.13754                    0.32235                    0.23131                    0.08187                   -0.11140                   -0.19089                   -0.61898  
Hypertension.compositeyes  
                 -0.21297  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1775 -0.5601 -0.0099  0.5696  2.8566 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.0783090  0.8122665   1.328   0.1850    
currentDF[, TRAIT]         0.3333263  0.0481504   6.923 1.46e-11 ***
Age                       -0.0034700  0.0055582  -0.624   0.5327    
Gendermale                 0.2312370  0.0965463   2.395   0.0170 *  
ORdate_year2003            0.0736781  0.1490460   0.494   0.6213    
ORdate_year2004           -0.0746579  0.1539889  -0.485   0.6280    
ORdate_year2005           -0.1708068  0.1528205  -1.118   0.2643    
ORdate_year2006           -0.5664307  0.2449618  -2.312   0.0212 *  
Hypertension.compositeyes -0.2180770  0.1274686  -1.711   0.0878 .  
DiabetesStatusDiabetes     0.0184105  0.1080754   0.170   0.8648    
SmokerStatusEx-smoker      0.1228629  0.0951180   1.292   0.1971    
SmokerStatusNever smoked   0.2132704  0.1406225   1.517   0.1300    
Med.Statin.LLDyes         -0.1352462  0.0992172  -1.363   0.1735    
Med.all.antiplateletyes    0.1222422  0.1527526   0.800   0.4240    
GFR_MDRD                   0.0002519  0.0023819   0.106   0.9158    
BMI                       -0.0198699  0.0114090  -1.742   0.0822 .  
MedHx_CVDyes               0.0018433  0.0896710   0.021   0.9836    
stenose50-70%             -0.4821863  0.5917325  -0.815   0.4156    
stenose70-90%             -0.3390314  0.5469091  -0.620   0.5356    
stenose90-99%             -0.2765726  0.5453633  -0.507   0.6123    
stenose100% (Occlusion)   -1.2176208  0.6925501  -1.758   0.0794 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.924 on 471 degrees of freedom
Multiple R-squared:  0.1922,    Adjusted R-squared:  0.1579 
F-statistic: 5.605 on 20 and 471 DF,  p-value: 4.604e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.333326 
Standard error............: 0.04815 
Odds ratio (effect size)..: 1.396 
Lower 95% CI..............: 1.27 
Upper 95% CI..............: 1.534 
T-value...................: 6.922604 
P-value...................: 1.457728e-11 
R^2.......................: 0.192244 
Adjusted r^2..............: 0.157944 
Sample size of AE DB......: 2423 
Sample size of model......: 492 
Missing data %............: 79.69459 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.6147                     0.3149                     0.2421                    -0.2002                    -0.8325                    -0.8245                    -1.2520  
Hypertension.compositeyes  
                  -0.2097  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2989 -0.6538 -0.0206  0.6585  2.4880 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.7187707  0.8125689   2.115  0.03494 *  
currentDF[, TRAIT]         0.3067410  0.0461474   6.647 8.36e-11 ***
Age                       -0.0053480  0.0055964  -0.956  0.33976    
Gendermale                 0.2561059  0.0968292   2.645  0.00845 ** 
ORdate_year2003           -0.2091149  0.1463437  -1.429  0.15369    
ORdate_year2004           -0.8049399  0.1456358  -5.527 5.42e-08 ***
ORdate_year2005           -0.8062573  0.1474557  -5.468 7.44e-08 ***
ORdate_year2006           -1.1887282  0.2411509  -4.929 1.15e-06 ***
Hypertension.compositeyes -0.1875140  0.1284114  -1.460  0.14489    
DiabetesStatusDiabetes    -0.0565490  0.1082308  -0.522  0.60158    
SmokerStatusEx-smoker     -0.0030809  0.0961023  -0.032  0.97444    
SmokerStatusNever smoked   0.1233658  0.1439433   0.857  0.39186    
Med.Statin.LLDyes         -0.1306656  0.0995996  -1.312  0.19020    
Med.all.antiplateletyes    0.0098681  0.1535225   0.064  0.94878    
GFR_MDRD                  -0.0004724  0.0023902  -0.198  0.84343    
BMI                       -0.0135743  0.0114144  -1.189  0.23496    
MedHx_CVDyes               0.0146332  0.0902740   0.162  0.87130    
stenose50-70%             -0.4022242  0.5928882  -0.678  0.49784    
stenose70-90%             -0.3192665  0.5480168  -0.583  0.56045    
stenose90-99%             -0.3069092  0.5464577  -0.562  0.57463    
stenose100% (Occlusion)   -1.0298434  0.6932430  -1.486  0.13807    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9258 on 467 degrees of freedom
Multiple R-squared:  0.1894,    Adjusted R-squared:  0.1547 
F-statistic: 5.455 on 20 and 467 DF,  p-value: 1.317e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.306741 
Standard error............: 0.046147 
Odds ratio (effect size)..: 1.359 
Lower 95% CI..............: 1.241 
Upper 95% CI..............: 1.488 
T-value...................: 6.646979 
P-value...................: 8.364781e-11 
R^2.......................: 0.189367 
Adjusted r^2..............: 0.154651 
Sample size of AE DB......: 2423 
Sample size of model......: 488 
Missing data %............: 79.85968 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + BMI, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006                 BMI  
           0.77283             0.43800             0.27132            -0.24330            -0.72066            -0.66445            -0.88073            -0.01686  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1935 -0.6181 -0.0426  0.5849  2.1062 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.645850   0.781301   2.107 0.035742 *  
currentDF[, TRAIT]         0.436243   0.042900  10.169  < 2e-16 ***
Age                       -0.005519   0.005497  -1.004 0.315962    
Gendermale                 0.289862   0.093381   3.104 0.002036 ** 
ORdate_year2003           -0.257289   0.141328  -1.821 0.069385 .  
ORdate_year2004           -0.695342   0.133731  -5.200 3.11e-07 ***
ORdate_year2005           -0.619589   0.134966  -4.591 5.83e-06 ***
ORdate_year2006           -0.816434   0.236651  -3.450 0.000617 ***
Hypertension.compositeyes -0.159754   0.124365  -1.285 0.199647    
DiabetesStatusDiabetes    -0.062656   0.105363  -0.595 0.552382    
SmokerStatusEx-smoker     -0.042598   0.094790  -0.449 0.653374    
SmokerStatusNever smoked   0.004468   0.141013   0.032 0.974736    
Med.Statin.LLDyes         -0.131231   0.097117  -1.351 0.177331    
Med.all.antiplateletyes    0.012678   0.146104   0.087 0.930893    
GFR_MDRD                  -0.002136   0.002341  -0.912 0.362069    
BMI                       -0.015856   0.011047  -1.435 0.151915    
MedHx_CVDyes               0.067512   0.087381   0.773 0.440179    
stenose50-70%             -0.255101   0.551942  -0.462 0.644183    
stenose70-90%             -0.249418   0.510319  -0.489 0.625272    
stenose90-99%             -0.155738   0.508469  -0.306 0.759535    
stenose100% (Occlusion)   -0.627892   0.645832  -0.972 0.331493    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8597 on 425 degrees of freedom
Multiple R-squared:  0.291, Adjusted R-squared:  0.2576 
F-statistic:  8.72 on 20 and 425 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.436243 
Standard error............: 0.0429 
Odds ratio (effect size)..: 1.547 
Lower 95% CI..............: 1.422 
Upper 95% CI..............: 1.683 
T-value...................: 10.16884 
P-value...................: 6.913888e-22 
R^2.......................: 0.290961 
Adjusted r^2..............: 0.257595 
Sample size of AE DB......: 2423 
Sample size of model......: 446 
Missing data %............: 81.59307 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.6058                     0.3432                     0.2024                    -0.2701                    -0.7809                    -0.7411                    -1.0666  
Hypertension.compositeyes  
                  -0.2147  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4611 -0.6645 -0.0691  0.6036  2.5756 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.643e+00  8.077e-01   2.034   0.0425 *  
currentDF[, TRAIT]         3.371e-01  4.396e-02   7.668 9.91e-14 ***
Age                       -5.604e-03  5.509e-03  -1.017   0.3096    
Gendermale                 2.131e-01  9.636e-02   2.211   0.0275 *  
ORdate_year2003           -2.723e-01  1.451e-01  -1.877   0.0611 .  
ORdate_year2004           -7.544e-01  1.426e-01  -5.289 1.87e-07 ***
ORdate_year2005           -7.302e-01  1.444e-01  -5.058 6.04e-07 ***
ORdate_year2006           -1.011e+00  2.385e-01  -4.239 2.70e-05 ***
Hypertension.compositeyes -1.869e-01  1.260e-01  -1.484   0.1385    
DiabetesStatusDiabetes    -8.350e-02  1.068e-01  -0.782   0.4348    
SmokerStatusEx-smoker      3.041e-02  9.502e-02   0.320   0.7491    
SmokerStatusNever smoked   1.421e-01  1.412e-01   1.007   0.3146    
Med.Statin.LLDyes         -1.185e-01  9.847e-02  -1.203   0.2294    
Med.all.antiplateletyes    2.258e-02  1.515e-01   0.149   0.8816    
GFR_MDRD                  -3.441e-05  2.377e-03  -0.014   0.9885    
BMI                       -1.295e-02  1.131e-02  -1.145   0.2530    
MedHx_CVDyes               2.726e-02  8.885e-02   0.307   0.7591    
stenose50-70%             -4.056e-01  5.893e-01  -0.688   0.4916    
stenose70-90%             -2.916e-01  5.468e-01  -0.533   0.5941    
stenose90-99%             -3.383e-01  5.456e-01  -0.620   0.5354    
stenose100% (Occlusion)   -1.012e+00  6.916e-01  -1.463   0.1441    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9243 on 477 degrees of freedom
Multiple R-squared:  0.2019,    Adjusted R-squared:  0.1684 
F-statistic: 6.033 on 20 and 477 DF,  p-value: 2.367e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.337065 
Standard error............: 0.04396 
Odds ratio (effect size)..: 1.401 
Lower 95% CI..............: 1.285 
Upper 95% CI..............: 1.527 
T-value...................: 7.667585 
P-value...................: 9.914825e-14 
R^2.......................: 0.201897 
Adjusted r^2..............: 0.168434 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD + BMI, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006   Med.Statin.LLDyes                 BMI  
           0.64458             0.28156             0.23852            -0.08327            -0.03539            -0.43743            -0.25518            -0.01889  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.93209 -0.61908 -0.02249  0.59434  2.56625 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.197723   0.864304   1.386   0.1666    
currentDF[, TRAIT]         0.266485   0.047864   5.568  4.7e-08 ***
Age                       -0.004423   0.005922  -0.747   0.4556    
Gendermale                 0.129835   0.103988   1.249   0.2125    
ORdate_year2003            0.163787   0.224440   0.730   0.4660    
ORdate_year2004           -0.116781   0.221758  -0.527   0.5987    
ORdate_year2005           -0.081089   0.225417  -0.360   0.7192    
ORdate_year2006           -0.478714   0.295835  -1.618   0.1064    
Hypertension.compositeyes -0.177075   0.138719  -1.276   0.2025    
DiabetesStatusDiabetes    -0.059647   0.116006  -0.514   0.6074    
SmokerStatusEx-smoker      0.026575   0.103800   0.256   0.7981    
SmokerStatusNever smoked   0.182409   0.148154   1.231   0.2190    
Med.Statin.LLDyes         -0.258100   0.109955  -2.347   0.0194 *  
Med.all.antiplateletyes    0.040805   0.161971   0.252   0.8012    
GFR_MDRD                   0.000504   0.002645   0.191   0.8490    
BMI                       -0.020111   0.012493  -1.610   0.1082    
MedHx_CVDyes               0.092574   0.097619   0.948   0.3435    
stenose50-70%             -0.493106   0.599490  -0.823   0.4113    
stenose70-90%             -0.283985   0.551917  -0.515   0.6072    
stenose90-99%             -0.244692   0.550143  -0.445   0.6567    
stenose100% (Occlusion)   -0.895351   0.699517  -1.280   0.2013    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9295 on 406 degrees of freedom
Multiple R-squared:  0.1586,    Adjusted R-squared:  0.1171 
F-statistic: 3.826 on 20 and 406 DF,  p-value: 9.858e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.266485 
Standard error............: 0.047864 
Odds ratio (effect size)..: 1.305 
Lower 95% CI..............: 1.188 
Upper 95% CI..............: 1.434 
T-value...................: 5.567569 
P-value...................: 4.704389e-08 
R^2.......................: 0.158581 
Adjusted r^2..............: 0.117132 
Sample size of AE DB......: 2423 
Sample size of model......: 427 
Missing data %............: 82.37722 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]                      Age               Gendermale        Med.Statin.LLDyes  Med.all.antiplateletyes  
               0.140410                 0.468193                -0.007411                 0.287539                -0.164246                 0.301974  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.96205 -0.57951 -0.01007  0.61114  2.19833 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.443166   0.784019   0.565 0.572170    
currentDF[, TRAIT]         0.454454   0.044922  10.116  < 2e-16 ***
Age                       -0.007448   0.005277  -1.411 0.158765    
Gendermale                 0.305702   0.091803   3.330 0.000936 ***
ORdate_year2003           -0.146890   0.139199  -1.055 0.291841    
ORdate_year2004           -0.072548   0.141826  -0.512 0.609219    
ORdate_year2005           -0.201222   0.141637  -1.421 0.156060    
ORdate_year2006           -0.524023   0.233362  -2.246 0.025191 *  
Hypertension.compositeyes -0.144044   0.121304  -1.187 0.235635    
DiabetesStatusDiabetes    -0.018525   0.102922  -0.180 0.857239    
SmokerStatusEx-smoker      0.077139   0.090971   0.848 0.396888    
SmokerStatusNever smoked   0.176671   0.135090   1.308 0.191570    
Med.Statin.LLDyes         -0.128540   0.094677  -1.358 0.175210    
Med.all.antiplateletyes    0.266120   0.145703   1.826 0.068408 .  
GFR_MDRD                   0.001331   0.002294   0.580 0.561879    
BMI                       -0.005762   0.010888  -0.529 0.596929    
MedHx_CVDyes               0.051227   0.085471   0.599 0.549224    
stenose50-70%             -0.089648   0.567672  -0.158 0.874585    
stenose70-90%             -0.066489   0.526127  -0.126 0.899489    
stenose90-99%             -0.079401   0.524811  -0.151 0.879807    
stenose100% (Occlusion)   -0.248353   0.668644  -0.371 0.710484    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8889 on 477 degrees of freedom
Multiple R-squared:  0.2619,    Adjusted R-squared:  0.2309 
F-statistic: 8.462 on 20 and 477 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.454454 
Standard error............: 0.044922 
Odds ratio (effect size)..: 1.575 
Lower 95% CI..............: 1.443 
Upper 95% CI..............: 1.72 
T-value...................: 10.11645 
P-value...................: 6.328314e-22 
R^2.......................: 0.261893 
Adjusted r^2..............: 0.230945 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
          -0.01559             0.36766             0.30995             0.15211            -0.30987            -0.27047            -0.66058  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9222 -0.6158 -0.0825  0.5485  3.1944 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.0346578  0.7727390   1.339 0.181290    
currentDF[, TRAIT]         0.3644206  0.0437787   8.324 1.12e-15 ***
Age                       -0.0056229  0.0053771  -1.046 0.296278    
Gendermale                 0.3280538  0.0944454   3.473 0.000565 ***
ORdate_year2003            0.1322027  0.1437472   0.920 0.358248    
ORdate_year2004           -0.2824810  0.1381149  -2.045 0.041433 *  
ORdate_year2005           -0.2473922  0.1397622  -1.770 0.077415 .  
ORdate_year2006           -0.5861314  0.2295243  -2.554 0.011001 *  
Hypertension.compositeyes -0.0970933  0.1252900  -0.775 0.438793    
DiabetesStatusDiabetes    -0.0851312  0.1064360  -0.800 0.424245    
SmokerStatusEx-smoker      0.0043359  0.0935495   0.046 0.963054    
SmokerStatusNever smoked   0.1191810  0.1359298   0.877 0.381090    
Med.Statin.LLDyes         -0.1427309  0.0978155  -1.459 0.145239    
Med.all.antiplateletyes    0.1179179  0.1535521   0.768 0.442945    
GFR_MDRD                  -0.0001572  0.0023234  -0.068 0.946097    
BMI                       -0.0134623  0.0109893  -1.225 0.221226    
MedHx_CVDyes               0.0444548  0.0881999   0.504 0.614501    
stenose50-70%             -0.3709802  0.5593856  -0.663 0.507560    
stenose70-90%             -0.2545538  0.5156477  -0.494 0.621798    
stenose90-99%             -0.2871570  0.5141252  -0.559 0.576768    
stenose100% (Occlusion)   -0.9118922  0.6524890  -1.398 0.162961    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8699 on 433 degrees of freedom
Multiple R-squared:  0.2539,    Adjusted R-squared:  0.2195 
F-statistic: 7.368 on 20 and 433 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.364421 
Standard error............: 0.043779 
Odds ratio (effect size)..: 1.44 
Lower 95% CI..............: 1.321 
Upper 95% CI..............: 1.569 
T-value...................: 8.324156 
P-value...................: 1.122615e-15 
R^2.......................: 0.253914 
Adjusted r^2..............: 0.219453 
Sample size of AE DB......: 2423 
Sample size of model......: 454 
Missing data %............: 81.2629 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.4320                     0.5815                     0.1814                    -0.1449                    -0.3454                    -0.5624                    -1.0233  
Hypertension.compositeyes          Med.Statin.LLDyes  
                  -0.1470                    -0.1268  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5340 -0.5103 -0.0607  0.4740  2.5929 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.7798576  0.6963882   1.120  0.26334    
currentDF[, TRAIT]         0.5769753  0.0371733  15.521  < 2e-16 ***
Age                       -0.0024880  0.0047478  -0.524  0.60050    
Gendermale                 0.1970550  0.0826726   2.384  0.01754 *  
ORdate_year2003           -0.1515277  0.1247232  -1.215  0.22500    
ORdate_year2004           -0.3456070  0.1207390  -2.862  0.00439 ** 
ORdate_year2005           -0.5659112  0.1226870  -4.613 5.12e-06 ***
ORdate_year2006           -1.0090680  0.2050977  -4.920 1.19e-06 ***
Hypertension.compositeyes -0.1566629  0.1084312  -1.445  0.14917    
DiabetesStatusDiabetes    -0.0209632  0.0919990  -0.228  0.81985    
SmokerStatusEx-smoker     -0.0057051  0.0817397  -0.070  0.94439    
SmokerStatusNever smoked   0.0966923  0.1210565   0.799  0.42484    
Med.Statin.LLDyes         -0.1416772  0.0847985  -1.671  0.09543 .  
Med.all.antiplateletyes    0.0046067  0.1300679   0.035  0.97176    
GFR_MDRD                  -0.0008946  0.0020431  -0.438  0.66170    
BMI                       -0.0046626  0.0097374  -0.479  0.63228    
MedHx_CVDyes               0.0615065  0.0766321   0.803  0.42260    
stenose50-70%             -0.0828490  0.5073929  -0.163  0.87036    
stenose70-90%             -0.0157327  0.4706070  -0.033  0.97335    
stenose90-99%             -0.0377996  0.4693986  -0.081  0.93585    
stenose100% (Occlusion)   -0.3261846  0.5962811  -0.547  0.58461    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7951 on 476 degrees of freedom
Multiple R-squared:  0.4054,    Adjusted R-squared:  0.3804 
F-statistic: 16.22 on 20 and 476 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.576975 
Standard error............: 0.037173 
Odds ratio (effect size)..: 1.781 
Lower 95% CI..............: 1.656 
Upper 95% CI..............: 1.915 
T-value...................: 15.52122 
P-value...................: 2.938028e-44 
R^2.......................: 0.405353 
Adjusted r^2..............: 0.380368 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    Hypertension.composite + Med.Statin.LLD + Med.all.antiplatelet, 
    data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale  Hypertension.compositeyes          Med.Statin.LLDyes    Med.all.antiplateletyes  
                  -0.1133                     0.6670                     0.2354                    -0.1616                    -0.1266                     0.1884  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.93159 -0.40951  0.02282  0.44011  2.10027 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.541408   0.656090   0.825   0.4097    
currentDF[, TRAIT]         0.675007   0.036594  18.446   <2e-16 ***
Age                        0.002150   0.004486   0.479   0.6320    
Gendermale                 0.230177   0.077424   2.973   0.0031 ** 
ORdate_year2003           -0.278792   0.117246  -2.378   0.0178 *  
ORdate_year2004           -0.137463   0.115109  -1.194   0.2330    
ORdate_year2005           -0.232101   0.116827  -1.987   0.0475 *  
ORdate_year2006           -0.332592   0.196045  -1.697   0.0904 .  
Hypertension.compositeyes -0.155632   0.102023  -1.525   0.1278    
DiabetesStatusDiabetes    -0.026329   0.086551  -0.304   0.7611    
SmokerStatusEx-smoker      0.093427   0.076568   1.220   0.2230    
SmokerStatusNever smoked   0.109994   0.113793   0.967   0.3342    
Med.Statin.LLDyes         -0.108080   0.079726  -1.356   0.1759    
Med.all.antiplateletyes    0.182233   0.122196   1.491   0.1365    
GFR_MDRD                   0.001764   0.001928   0.915   0.3606    
BMI                       -0.014141   0.009159  -1.544   0.1233    
MedHx_CVDyes              -0.035832   0.072023  -0.498   0.6191    
stenose50-70%             -0.529627   0.477171  -1.110   0.2676    
stenose70-90%             -0.347215   0.442780  -0.784   0.4333    
stenose90-99%             -0.428805   0.441755  -0.971   0.3322    
stenose100% (Occlusion)   -0.730640   0.560100  -1.304   0.1927    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7484 on 477 degrees of freedom
Multiple R-squared:  0.4768,    Adjusted R-squared:  0.4548 
F-statistic: 21.73 on 20 and 477 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.675007 
Standard error............: 0.036594 
Odds ratio (effect size)..: 1.964 
Lower 95% CI..............: 1.828 
Upper 95% CI..............: 2.11 
T-value...................: 18.44574 
P-value...................: 9.595196e-58 
R^2.......................: 0.476758 
Adjusted r^2..............: 0.454819 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + SmokerStatus + BMI, 
    data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                  1.26611                    0.34011                    0.21423                   -0.54641                   -0.74319                   -1.12291                   -1.41133  
Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked                        BMI  
                 -0.26383                    0.10672                    0.30832                   -0.01872  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1971 -0.6033 -0.0341  0.6103  2.4464 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.426102   0.932754   2.601  0.00966 ** 
currentDF[, TRAIT]         0.347103   0.052723   6.584 1.52e-10 ***
Age                       -0.009494   0.006021  -1.577  0.11566    
Gendermale                 0.212048   0.105733   2.006  0.04561 *  
ORdate_year2003           -0.563377   0.174245  -3.233  0.00133 ** 
ORdate_year2004           -0.735039   0.164002  -4.482 9.79e-06 ***
ORdate_year2005           -1.118244   0.185642  -6.024 4.00e-09 ***
ORdate_year2006           -1.374207   0.266390  -5.159 4.00e-07 ***
Hypertension.compositeyes -0.235011   0.139861  -1.680  0.09371 .  
DiabetesStatusDiabetes    -0.113451   0.117439  -0.966  0.33463    
SmokerStatusEx-smoker      0.155532   0.102932   1.511  0.13161    
SmokerStatusNever smoked   0.379226   0.156366   2.425  0.01576 *  
Med.Statin.LLDyes         -0.085997   0.107412  -0.801  0.42384    
Med.all.antiplateletyes    0.126683   0.156012   0.812  0.41729    
GFR_MDRD                  -0.001108   0.002533  -0.437  0.66219    
BMI                       -0.022001   0.012678  -1.735  0.08349 .  
MedHx_CVDyes               0.126802   0.097267   1.304  0.19314    
stenose50-70%             -0.367979   0.707504  -0.520  0.60329    
stenose70-90%             -0.483438   0.657580  -0.735  0.46268    
stenose90-99%             -0.544524   0.656574  -0.829  0.40743    
stenose100% (Occlusion)   -1.353700   0.777606  -1.741  0.08251 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9099 on 383 degrees of freedom
Multiple R-squared:  0.2047,    Adjusted R-squared:  0.1632 
F-statistic:  4.93 on 20 and 383 DF,  p-value: 8.193e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.347103 
Standard error............: 0.052723 
Odds ratio (effect size)..: 1.415 
Lower 95% CI..............: 1.276 
Upper 95% CI..............: 1.569 
T-value...................: 6.583513 
P-value...................: 1.516294e-10 
R^2.......................: 0.204737 
Adjusted r^2..............: 0.163209 
Sample size of AE DB......: 2423 
Sample size of model......: 404 
Missing data %............: 83.32645 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005            ORdate_year2006  
                   0.3610                     0.1063                     0.3122                    -0.1580                    -0.5054                    -0.5324                    -0.9055  
Hypertension.compositeyes  
                  -0.1955  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4274 -0.6350  0.0144  0.6228  2.5063 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.4138364  0.8539604   1.656 0.098491 .  
currentDF[, TRAIT]         0.1052884  0.0464515   2.267 0.023884 *  
Age                       -0.0076726  0.0058897  -1.303 0.193336    
Gendermale                 0.3375507  0.1030054   3.277 0.001130 ** 
ORdate_year2003           -0.1775071  0.1542223  -1.151 0.250347    
ORdate_year2004           -0.4798233  0.1513448  -3.170 0.001626 ** 
ORdate_year2005           -0.5211650  0.1523953  -3.420 0.000683 ***
ORdate_year2006           -0.8380484  0.2668015  -3.141 0.001793 ** 
Hypertension.compositeyes -0.2042918  0.1341711  -1.523 0.128551    
DiabetesStatusDiabetes    -0.0788904  0.1153959  -0.684 0.494546    
SmokerStatusEx-smoker      0.0918515  0.1012455   0.907 0.364775    
SmokerStatusNever smoked   0.3292334  0.1516521   2.171 0.030451 *  
Med.Statin.LLDyes         -0.1420226  0.1059380  -1.341 0.180716    
Med.all.antiplateletyes    0.1269841  0.1602690   0.792 0.428590    
GFR_MDRD                  -0.0002776  0.0025554  -0.109 0.913539    
BMI                       -0.0156628  0.0121368  -1.291 0.197529    
MedHx_CVDyes               0.0746852  0.0950853   0.785 0.432597    
stenose50-70%             -0.4637323  0.6175244  -0.751 0.453070    
stenose70-90%             -0.2491616  0.5728465  -0.435 0.663803    
stenose90-99%             -0.2275925  0.5714373  -0.398 0.690611    
stenose100% (Occlusion)   -1.0065603  0.7245935  -1.389 0.165473    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9674 on 453 degrees of freedom
Multiple R-squared:  0.1205,    Adjusted R-squared:  0.08172 
F-statistic: 3.105 on 20 and 453 DF,  p-value: 9.036e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.105288 
Standard error............: 0.046452 
Odds ratio (effect size)..: 1.111 
Lower 95% CI..............: 1.014 
Upper 95% CI..............: 1.217 
T-value...................: 2.266629 
P-value...................: 0.02388367 
R^2.......................: 0.120549 
Adjusted r^2..............: 0.081722 
Sample size of AE DB......: 2423 
Sample size of model......: 474 
Missing data %............: 80.43747 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale     ORdate_year2003     ORdate_year2004     ORdate_year2005     ORdate_year2006  
            0.1026              0.3694              0.3707             -0.1823             -0.4201             -0.4531             -0.6073  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4715 -0.5619 -0.0070  0.5989  2.4890 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                0.8536811  0.8251478   1.035  0.30141    
currentDF[, TRAIT]         0.3525292  0.0472242   7.465 4.26e-13 ***
Age                       -0.0078047  0.0056175  -1.389  0.16540    
Gendermale                 0.3960223  0.0977553   4.051 5.99e-05 ***
ORdate_year2003           -0.2065914  0.1446782  -1.428  0.15399    
ORdate_year2004           -0.4056659  0.1407575  -2.882  0.00414 ** 
ORdate_year2005           -0.4390377  0.1440445  -3.048  0.00244 ** 
ORdate_year2006           -0.5844152  0.4366270  -1.338  0.18141    
Hypertension.compositeyes -0.0969689  0.1302786  -0.744  0.45707    
DiabetesStatusDiabetes    -0.0142610  0.1100266  -0.130  0.89693    
SmokerStatusEx-smoker      0.0092934  0.0968874   0.096  0.92363    
SmokerStatusNever smoked   0.1614083  0.1434174   1.125  0.26099    
Med.Statin.LLDyes         -0.0994556  0.0991388  -1.003  0.31630    
Med.all.antiplateletyes    0.1352402  0.1563510   0.865  0.38751    
GFR_MDRD                  -0.0008966  0.0024642  -0.364  0.71615    
BMI                       -0.0112171  0.0117404  -0.955  0.33987    
MedHx_CVDyes               0.0296270  0.0909592   0.326  0.74479    
stenose50-70%              0.0284986  0.5930939   0.048  0.96170    
stenose70-90%              0.1040823  0.5488315   0.190  0.84967    
stenose90-99%              0.1198609  0.5475368   0.219  0.82682    
stenose100% (Occlusion)   -0.5974547  0.6933538  -0.862  0.38931    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9239 on 456 degrees of freedom
Multiple R-squared:  0.1977,    Adjusted R-squared:  0.1625 
F-statistic: 5.619 on 20 and 456 DF,  p-value: 4.683e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.352529 
Standard error............: 0.047224 
Odds ratio (effect size)..: 1.423 
Lower 95% CI..............: 1.297 
Upper 95% CI..............: 1.561 
T-value...................: 7.465003 
P-value...................: 4.262372e-13 
R^2.......................: 0.197722 
Adjusted r^2..............: 0.162534 
Sample size of AE DB......: 2423 
Sample size of model......: 477 
Missing data %............: 80.31366 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + SmokerStatus + 
    Med.all.antiplatelet + BMI + stenose, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005  
                  2.46084                    0.47151                   -0.01068                    0.13674                   -0.19553                   -0.50329                   -0.60335  
          ORdate_year2006  Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked    Med.all.antiplateletyes                        BMI              stenose50-70%  
                 -0.53710                   -0.29184                    0.17410                    0.32151                    0.24257                   -0.03184                   -0.79791  
            stenose70-90%              stenose90-99%    stenose100% (Occlusion)  
                 -0.68813                   -0.61330                   -1.59376  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.10342 -0.51128  0.03165  0.57214  2.72279 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.455345   0.765657   3.207 0.001436 ** 
currentDF[, TRAIT]         0.471891   0.041330  11.418  < 2e-16 ***
Age                       -0.010843   0.005231  -2.073 0.038733 *  
Gendermale                 0.128803   0.092671   1.390 0.165240    
ORdate_year2003           -0.184990   0.135155  -1.369 0.171760    
ORdate_year2004           -0.484165   0.130563  -3.708 0.000234 ***
ORdate_year2005           -0.585265   0.134123  -4.364 1.58e-05 ***
ORdate_year2006           -0.500318   0.407937  -1.226 0.220659    
Hypertension.compositeyes -0.271501   0.119928  -2.264 0.024051 *  
DiabetesStatusDiabetes    -0.025456   0.102695  -0.248 0.804342    
SmokerStatusEx-smoker      0.178175   0.090398   1.971 0.049327 *  
SmokerStatusNever smoked   0.320787   0.132951   2.413 0.016223 *  
Med.Statin.LLDyes         -0.090827   0.092605  -0.981 0.327211    
Med.all.antiplateletyes    0.244687   0.145835   1.678 0.094065 .  
GFR_MDRD                   0.001043   0.002313   0.451 0.652414    
BMI                       -0.031707   0.011050  -2.869 0.004303 ** 
MedHx_CVDyes               0.022930   0.084954   0.270 0.787354    
stenose50-70%             -0.844857   0.552703  -1.529 0.127059    
stenose70-90%             -0.718111   0.513407  -1.399 0.162578    
stenose90-99%             -0.650489   0.511274  -1.272 0.203918    
stenose100% (Occlusion)   -1.642782   0.650275  -2.526 0.011865 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8631 on 456 degrees of freedom
Multiple R-squared:  0.2998,    Adjusted R-squared:  0.2691 
F-statistic: 9.764 on 20 and 456 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.471891 
Standard error............: 0.04133 
Odds ratio (effect size)..: 1.603 
Lower 95% CI..............: 1.478 
Upper 95% CI..............: 1.738 
T-value...................: 11.4175 
P-value...................: 9.956493e-27 
R^2.......................: 0.299837 
Adjusted r^2..............: 0.269128 
Sample size of AE DB......: 2423 
Sample size of model......: 477 
Missing data %............: 80.31366 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + SmokerStatus + 
    Med.all.antiplatelet + BMI, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale            ORdate_year2003            ORdate_year2004            ORdate_year2005  
                  1.53139                    0.59999                   -0.01150                    0.21089                   -0.18315                   -0.35564                   -0.42003  
          ORdate_year2006  Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked    Med.all.antiplateletyes                        BMI  
                 -0.24594                   -0.18514                    0.12961                    0.23101                    0.32137                   -0.03072  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.06008 -0.49021 -0.02165  0.49263  2.80095 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.816909   0.689787   2.634 0.008726 ** 
currentDF[, TRAIT]         0.603435   0.037428  16.122  < 2e-16 ***
Age                       -0.011370   0.004727  -2.405 0.016565 *  
Gendermale                 0.199907   0.082649   2.419 0.015965 *  
ORdate_year2003           -0.183710   0.122131  -1.504 0.133223    
ORdate_year2004           -0.332481   0.118625  -2.803 0.005283 ** 
ORdate_year2005           -0.415965   0.121339  -3.428 0.000663 ***
ORdate_year2006           -0.207004   0.369664  -0.560 0.575770    
Hypertension.compositeyes -0.166847   0.109513  -1.524 0.128319    
DiabetesStatusDiabetes     0.009552   0.092853   0.103 0.918114    
SmokerStatusEx-smoker      0.137637   0.081517   1.688 0.092012 .  
SmokerStatusNever smoked   0.242214   0.120225   2.015 0.044527 *  
Med.Statin.LLDyes         -0.107640   0.083676  -1.286 0.198960    
Med.all.antiplateletyes    0.273044   0.131809   2.072 0.038874 *  
GFR_MDRD                   0.001616   0.002089   0.773 0.439701    
BMI                       -0.033533   0.009969  -3.364 0.000834 ***
MedHx_CVDyes               0.044822   0.076756   0.584 0.559544    
stenose50-70%             -0.305655   0.498261  -0.613 0.539890    
stenose70-90%             -0.242633   0.462061  -0.525 0.599762    
stenose90-99%             -0.264472   0.460706  -0.574 0.566212    
stenose100% (Occlusion)   -1.035057   0.584515  -1.771 0.077264 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7799 on 455 degrees of freedom
Multiple R-squared:  0.4281,    Adjusted R-squared:  0.403 
F-statistic: 17.03 on 20 and 455 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.603435 
Standard error............: 0.037428 
Odds ratio (effect size)..: 1.828 
Lower 95% CI..............: 1.699 
Upper 95% CI..............: 1.968 
T-value...................: 16.12239 
P-value...................: 1.390543e-46 
R^2.......................: 0.428125 
Adjusted r^2..............: 0.402988 
Sample size of AE DB......: 2423 
Sample size of model......: 476 
Missing data %............: 80.35493 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
DT::datatable(GLM.results)

# Save the data
cat("Writing results to Excel-file...\n")
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Multi.MCP1_Plaque.Cytokines_Plaques.RANK.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

MCP1 cytokines plaque levels vs. vulnerability index

Here we calculate the plaque instability/vulnerability index

# Plaque vulnerability

table(AEDB.CEA$Macrophages.bin)

      no/minor moderate/heavy 
           847            992 
table(AEDB.CEA$Fat.bin_10)

 <10%  >10% 
  542  1316 
table(AEDB.CEA$Collagen.bin)

      no/minor moderate/heavy 
           382           1469 
table(AEDB.CEA$SMC.bin)

      no/minor moderate/heavy 
           602           1244 
table(AEDB.CEA$IPH.bin)

  no  yes 
 746 1108 
# SPSS code

# 
# *** syntax- Plaque vulnerability**.
# COMPUTE Macro_instab = -999.
# IF macrophages.bin=2 Macro_instab=1.
# IF macrophages.bin=1 Macro_instab=0.
# EXECUTE.
# 
# COMPUTE Fat10_instab = -999.
# IF Fat.bin_10=2 Fat10_instab=1.
# IF Fat.bin_10=1 Fat10_instab=0.
# EXECUTE.
# 
# COMPUTE coll_instab=-999.
# IF Collagen.bin=2 coll_instab=0.
# IF Collagen.bin=1 coll_instab=1.
# EXECUTE.
# 
# 
# COMPUTE SMC_instab=-999.
# IF SMC.bin=2 SMC_instab=0.
# IF SMC.bin=1 SMC_instab=1.
# EXECUTE.
# 
# COMPUTE IPH_instab=-999.
# IF IPH.bin=0 IPH_instab=0.
# IF IPH.bin=1 IPH_instab=1.
# EXECUTE.
# 
# COMPUTE Instability=Macro_instab + Fat10_instab +  coll_instab + SMC_instab + IPH_instab.
# EXECUTE.

# Fix plaquephenotypes
attach(AEDB.CEA)
The following objects are masked from AEDB.CEA (pos = 3):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_ng_ml_2015, Adiponectin_pg_ug_2015,
    AE_AAA_bijzonderheden, Age, Age_Q, AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106,
    alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3, analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2,
    antiarrh, antiarrh2, ANXA2, AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US,
    BMI_WHO, BMI30ormore, brain401, brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701,
    bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history, Calc.bin, calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic,
    Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS, CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, COL_Instability,
    collagen, Collagen.bin, CollagenPlaque, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet, concalle, concanal,
    concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc, conccalc2, conccalreg, conccarb, concchol, concchol2, concchol3,
    concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort, conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2,
    concdiur3, concerec, conceye, concgluc, concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr,
    concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2, concstat, concthro, concthyr,
    concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat, crp_all, CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug,
    CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61, date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon,
    dateapprox_latest, dateapprox_worst, dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest,
    dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802, diet803, diet804, diet805, diet806,
    diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817, diet818, diet819, diet820, diet821, diet822, diet823, diet824,
    dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite, duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD,
    EMMPRIN_58kD, ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days, ep_cad_t_3years,
    EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite, EP_composite_time, EP_coronary,
    ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days,
    EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time,
    EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke, ep_ischemic_stroke_t_3years,
    EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time, ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major,
    ep_major_t_30days, ep_major_t_3years, ep_major_t_90days, EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time,
    ep_nonstroke_t_3years, EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time,
    EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years,
    EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days, ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years,
    epcom.30days, epcom.3years, epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days,
    epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days,
    epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days,
    epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days, epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901,
    exer902, exer903, exer904, exer905, exer906, exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4,
    FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40, FAT10_Instability, Fat10Perc, Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent,
    FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent, FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp,
    FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat,
    FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp,
    FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling,
    FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling, FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat,
    FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat,
    FH_otherCVD_parent, FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis,
    FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis, FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat,
    FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp, FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp,
    FH_Stroke_mat, FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent, FH_tromb_pat,
    FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date, FU.cutt.off.30days, FU.cutt.off.3years,
    FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med, Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel,
    GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb, HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var,
    heart300, heart301, heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314, heart315,
    heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327, heart328, HIF1A, ho1, homocys, Hospital,
    hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs, Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1,
    Hypertension2, IL1_Beta, IL10, IL10_rank, IL12, IL12_rank, IL13, IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ml_2015,
    IL6_pg_ug_2015, IL6_rank, IL6R_pg_ml_2015, IL6R_pg_ug_2015, IL8, IL8_pg_ml_2015, IL8_pg_ug_2015, IL8_rank, IL9, IL9_rank, indexsymptoms_latest, indexsymptoms_latest_4g,
    indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin, insuline, INVULDAT, IP10, IP10_rank, IPH, IPH_extended.bin, IPH_Instability,
    IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source, LDL_var, leg501, leg502, leg503,
    leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R,
    MAC_binned, MAC_grouped, MAC_Instability, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank, Macrophages.bin, MAP, Mast_cells_plaque,
    max.followup, MCP1, MCP1_LN, MCP1_pg_ml_2015, MCP1_pg_ml_2015_LN, MCP1_pg_ml_2015_rank, MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_rank,
    MCSF_pg_ml_2015, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock, Med.ACE_inh, Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3,
    Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag, Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole,
    Med.diuretic, Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media, MG_H1, MI_Dx, MI_Dx1,
    MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8,
    MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C, MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy,
    neuropsy2, neuropsy3, neuropsy4, neurpsy5, neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate,
    nitrate2, NOD1, NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells,
    Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma,
    OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3, oralgluc4, ORdate_epoch, ORdate_year, ORyear, ORyearGroup, othanthyp,
    othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ml_2015, PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14,
    Percentage_CD20, Percentage_CD4, Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, Plaque_Vulnerability_Index, plaquephenotype, positibl, PrimaryLast, PrimaryLast1,
    prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309, qual0310, qual0401, qual0402,
    qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908, qual0909,
    qual1010, qual1101, qual1102, qual1103, qual1104, RAAS_med, RANTES, RANTES_pg_ml_2015, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01,
    Renine_recode, renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610,
    risk611, risk612, risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, Segment_isolated_Tris_2015, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2,
    SMAD3, smc, SMC_binned, SMC_grouped, SMC_Instability, SMC_LN, smc_location, smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus,
    SmokingReported, SmokingYearOR, stat3P, statin2, statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral,
    Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER, sympt, Sympt_latest, Sympt_worst,
    sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC, TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif,
    TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all, TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus,
    thrombus_location, thrombus_new, thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest,
    TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol, totalcholesterol_source, tractdig, tractdig2, tractdig3, tractdig4,
    tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Tris_protein_conc_ug_ml_2015, Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK,
    TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID, validation_date, validation1, validation2, validation3, validation4, validation5,
    validation6, VAR00001, VEGFA, VEGFA_plasma, VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012,
    vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST, vWF_plasma, WBC_THAW,
    Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3, yearangi, yearanta,
    yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2, yearclop,
    yearcom1, yearcom2, yearcom3, yearcort, yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec, yeareye,
    yeargluc, yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2, yearOR_bin_2010,
    YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yeartemp,
    yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking

The following objects are masked from AEDB.CEA (pos = 9):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q,
    AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114,
    alg115, ALOX5, analg2, analg3, analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2, AP_Dx,
    AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US, BMI_WHO, BMI30ormore, brain401,
    brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2,
    CAD_history, CADPAOD_history, Calc.bin, calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3,
    CEA_or_CAS, CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, collagen, Collagen.bin, CollagenPlaque, combi1,
    combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet, concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti,
    concanti2, concbblo, concbblo2, conccalc, conccalc2, conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3,
    conccort, conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc, concgluc2, concgluc3,
    concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr, concnitr2, concotant, concotcor, concoth2, concothe, concpros,
    concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2, concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen,
    corticos, cortihorm2, creat, crp_all, CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61,
    date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst, dateapprox1, dateapprox2,
    dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest, dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4,
    dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802, diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813,
    diet814, diet815, diet816, diet817, diet818, diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite,
    duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD, EMMPRIN_58kD, ENDOGLIN, endpoint1, endpoint2, endpoint3,
    endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days, ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years,
    EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite, EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days,
    EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years,
    EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years,
    EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke, ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years,
    EP_leg_amputation, EP_leg_amputation_time, ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days,
    EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years, EP_peripheral,
    ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time, EP_stroke, ep_stroke_t_30days,
    ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath,
    ep_strokedeath_t_30days, ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years,
    epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days, epdeath.3years, epfatalCVA.30days,
    epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years,
    epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years,
    epstrokedeath.30days, epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905, exer906,
    exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4, FABP4_pg_ug, FABP4_serum_luminex, fat,
    Fat.bin_10, Fat.bin_40, Fat10Perc, Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth,
    FH_amp_comp, FH_amp_mat, FH_amp_parent, FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling,
    FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp,
    FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp, FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat,
    FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat,
    FH_HC_parent, FH_HC_pat, FH_HC_sibling, FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp,
    FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent, FH_otherCVD_pat,
    FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp,
    FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis, FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis,
    FH_risk_broth, FH_risk_comp, FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat, FH_Stroke_parent,
    FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent, FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$,
    folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date, FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR,
    FURIN_low, FURIN_up, GDF15_plasma, geen_med, Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum,
    HA, hb, HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var, heart300, heart301, heart302, heart303, heart304,
    heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314, heart315, heart316, heart317, heart318, heart319, heart320,
    heart321, heart322, heart323, heart324, heart325, heart326, heart327, heart328, HIF1A, ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON,
    Hypertension.composite, Hypertension.drugs, Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL10_rank, IL12,
    IL12_rank, IL13, IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ug_2015, IL6_rank, IL6R_pg_ug_2015, IL8, IL8_pg_ug_2015,
    IL8_rank, IL9, IL9_rank, indexsymptoms_latest, indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin,
    insuline, INVULDAT, IP10, IP10_rank, IPH, IPH_extended.bin, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif,
    LDL_final, LDL_finalCU, ldl_source, LDL_var, leg501, leg502, leg503, leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515,
    leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank, Macrophages.bin, MAP,
    Mast_cells_plaque, max.followup, MCP1, MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_rank, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock,
    Med.ACE_inh, Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag, Med.antiarrh,
    Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic, Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin,
    Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media, MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank,
    miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8, MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14,
    MRP_8, MRP_8_14C, MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5, neutrophils, NGAL,
    NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1, NOD2, nogobt1_recalculated, NTproBNP_plasma,
    Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells, Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706,
    oac707, oac708, oac709, oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma, OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc,
    oralgluc2, oralgluc3, oralgluc4, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma,
    PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4, Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, plaquephenotype, positibl, PrimaryLast,
    PrimaryLast1, prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309, qual0310, qual0401,
    qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908,
    qual0909, qual1010, qual1101, qual1102, qual1103, qual1104, RAAS_med, RANTES, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01, Renine_recode,
    renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610, risk611, risk612,
    risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2, SMAD3, smc, SMC_LN, smc_location,
    smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P, statin2, statines, ste3mext, sten1yr, sten3mo,
    stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history,
    StrokeTIA_Symptoms, STUDY_NUMBER, sympt, Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all, TG_avg, TG_clinic, TG_dif, TG_final,
    TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus, thrombus_location, thrombus_new, thrombus_organization, thrombus_organization_v2, thrombus_percentage,
    thyros2, thyrosta, Time_event_OR, TimeOR_latest, TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol,
    totalcholesterol_source, tractdig, tractdig2, tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Trop1, Trop1DT, Trop2, Trop2DT,
    Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID, validation_date, validation1, validation2, validation3,
    validation4, validation5, validation6, VAR00001, VEGFA, VEGFA_plasma, VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged,
    vessel_density_Timo2012, vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST, vWF_plasma,
    WBC_THAW, Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3, yearangi,
    yearanta, yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2,
    yearclop, yearcom1, yearcom2, yearcom3, yearcort, yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec,
    yeareye, yeargluc, yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2,
    yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat,
    yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
# mac instability
AEDB.CEA[,"MAC_Instability"] <- NA
AEDB.CEA$MAC_Instability[Macrophages.bin == -999] <- NA
AEDB.CEA$MAC_Instability[Macrophages.bin == "no/minor"] <- 0
AEDB.CEA$MAC_Instability[Macrophages.bin == "moderate/heavy"] <- 1

# fat instability
AEDB.CEA[,"FAT10_Instability"] <- NA
AEDB.CEA$FAT10_Instability[Fat.bin_10 == -999] <- NA
AEDB.CEA$FAT10_Instability[Fat.bin_10 == " <10%"] <- 0
AEDB.CEA$FAT10_Instability[Fat.bin_10 == " >10%"] <- 1

# col instability 
AEDB.CEA[,"COL_Instability"] <- NA
AEDB.CEA$COL_Instability[Collagen.bin == -999] <- NA
AEDB.CEA$COL_Instability[Collagen.bin == "no/minor"] <- 1
AEDB.CEA$COL_Instability[Collagen.bin == "moderate/heavy"] <- 0

# smc instability
AEDB.CEA[,"SMC_Instability"] <- NA
AEDB.CEA$SMC_Instability[SMC.bin == -999] <- NA
AEDB.CEA$SMC_Instability[SMC.bin == "no/minor"] <- 1
AEDB.CEA$SMC_Instability[SMC.bin == "moderate/heavy"] <- 0

# iph instability
AEDB.CEA[,"IPH_Instability"] <- NA
AEDB.CEA$IPH_Instability[IPH.bin == -999] <- NA
AEDB.CEA$IPH_Instability[IPH.bin == "no"] <- 0
AEDB.CEA$IPH_Instability[IPH.bin == "yes"] <- 1

detach(AEDB.CEA)

table(AEDB.CEA$MAC_Instability, useNA = "ifany")

   0    1 <NA> 
 847  992  584 
table(AEDB.CEA$FAT10_Instability, useNA = "ifany")

   0    1 <NA> 
 542 1316  565 
table(AEDB.CEA$COL_Instability, useNA = "ifany")

   0    1 <NA> 
1469  382  572 
table(AEDB.CEA$SMC_Instability, useNA = "ifany")

   0    1 <NA> 
1244  602  577 
table(AEDB.CEA$IPH_Instability, useNA = "ifany")

   0    1 <NA> 
 746 1108  569 
# creating vulnerability index
AEDB.CEA <- AEDB.CEA %>% mutate(Plaque_Vulnerability_Index = factor(rowSums(.[grep("_Instability", names(.))], na.rm = TRUE)),
                                )

table(AEDB.CEA$Plaque_Vulnerability_Index, useNA = "ifany")

  0   1   2   3   4   5 
713 348 479 535 251  97 
# str(AEDB.CEA$Plaque_Vulnerability_Index)

Here we plot the levels of inverse-rank normal transformed MCP1 plaque levels from experiment 1 and 2 to the Plaque vulnerability index.

library(sjlabelled)
attach(AEDB.CEA)
The following objects are masked from AEDB.CEA (pos = 3):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_ng_ml_2015, Adiponectin_pg_ug_2015,
    AE_AAA_bijzonderheden, Age, Age_Q, AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106,
    alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3, analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2,
    antiarrh, antiarrh2, ANXA2, AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US,
    BMI_WHO, BMI30ormore, brain401, brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701,
    bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history, Calc.bin, calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic,
    Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS, CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, COL_Instability,
    collagen, Collagen.bin, CollagenPlaque, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet, concalle, concanal,
    concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc, conccalc2, conccalreg, conccarb, concchol, concchol2, concchol3,
    concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort, conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2,
    concdiur3, concerec, conceye, concgluc, concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr,
    concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2, concstat, concthro, concthyr,
    concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat, crp_all, CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug,
    CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61, date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon,
    dateapprox_latest, dateapprox_worst, dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest,
    dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802, diet803, diet804, diet805, diet806,
    diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817, diet818, diet819, diet820, diet821, diet822, diet823, diet824,
    dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite, duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD,
    EMMPRIN_58kD, ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days, ep_cad_t_3years,
    EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite, EP_composite_time, EP_coronary,
    ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days,
    EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time,
    EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke, ep_ischemic_stroke_t_3years,
    EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time, ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major,
    ep_major_t_30days, ep_major_t_3years, ep_major_t_90days, EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time,
    ep_nonstroke_t_3years, EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time,
    EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years,
    EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days, ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years,
    epcom.30days, epcom.3years, epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days,
    epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days,
    epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days,
    epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days, epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901,
    exer902, exer903, exer904, exer905, exer906, exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4,
    FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40, FAT10_Instability, Fat10Perc, Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent,
    FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent, FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp,
    FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat,
    FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp,
    FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling,
    FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling, FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat,
    FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat,
    FH_otherCVD_parent, FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis,
    FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis, FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat,
    FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp, FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp,
    FH_Stroke_mat, FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent, FH_tromb_pat,
    FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date, FU.cutt.off.30days, FU.cutt.off.3years,
    FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med, Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel,
    GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb, HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var,
    heart300, heart301, heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314, heart315,
    heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327, heart328, HIF1A, ho1, homocys, Hospital,
    hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs, Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1,
    Hypertension2, IL1_Beta, IL10, IL10_rank, IL12, IL12_rank, IL13, IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ml_2015,
    IL6_pg_ug_2015, IL6_rank, IL6R_pg_ml_2015, IL6R_pg_ug_2015, IL8, IL8_pg_ml_2015, IL8_pg_ug_2015, IL8_rank, IL9, IL9_rank, indexsymptoms_latest, indexsymptoms_latest_4g,
    indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin, insuline, INVULDAT, IP10, IP10_rank, IPH, IPH_extended.bin, IPH_Instability,
    IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source, LDL_var, leg501, leg502, leg503,
    leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R,
    MAC_binned, MAC_grouped, MAC_Instability, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank, Macrophages.bin, MAP, Mast_cells_plaque,
    max.followup, MCP1, MCP1_LN, MCP1_pg_ml_2015, MCP1_pg_ml_2015_LN, MCP1_pg_ml_2015_rank, MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_rank,
    MCSF_pg_ml_2015, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock, Med.ACE_inh, Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3,
    Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag, Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole,
    Med.diuretic, Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media, MG_H1, MI_Dx, MI_Dx1,
    MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8,
    MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C, MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy,
    neuropsy2, neuropsy3, neuropsy4, neurpsy5, neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate,
    nitrate2, NOD1, NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells,
    Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma,
    OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3, oralgluc4, ORdate_epoch, ORdate_year, ORyear, ORyearGroup, othanthyp,
    othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ml_2015, PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14,
    Percentage_CD20, Percentage_CD4, Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, Plaque_Vulnerability_Index, plaquephenotype, positibl, PrimaryLast, PrimaryLast1,
    prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309, qual0310, qual0401, qual0402,
    qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908, qual0909,
    qual1010, qual1101, qual1102, qual1103, qual1104, RAAS_med, RANTES, RANTES_pg_ml_2015, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01,
    Renine_recode, renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610,
    risk611, risk612, risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, Segment_isolated_Tris_2015, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2,
    SMAD3, smc, SMC_binned, SMC_grouped, SMC_Instability, SMC_LN, smc_location, smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus,
    SmokingReported, SmokingYearOR, stat3P, statin2, statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral,
    Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER, sympt, Sympt_latest, Sympt_worst,
    sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC, TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif,
    TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all, TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus,
    thrombus_location, thrombus_new, thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest,
    TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol, totalcholesterol_source, tractdig, tractdig2, tractdig3, tractdig4,
    tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Tris_protein_conc_ug_ml_2015, Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK,
    TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID, validation_date, validation1, validation2, validation3, validation4, validation5,
    validation6, VAR00001, VEGFA, VEGFA_plasma, VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012,
    vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST, vWF_plasma, WBC_THAW,
    Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3, yearangi, yearanta,
    yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2, yearclop,
    yearcom1, yearcom2, yearcom3, yearcort, yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec, yeareye,
    yeargluc, yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2, yearOR_bin_2010,
    YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yeartemp,
    yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking

The following objects are masked from AEDB.CEA (pos = 9):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q,
    AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114,
    alg115, ALOX5, analg2, analg3, analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2, AP_Dx,
    AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US, BMI_WHO, BMI30ormore, brain401,
    brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2,
    CAD_history, CADPAOD_history, Calc.bin, calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3,
    CEA_or_CAS, CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, collagen, Collagen.bin, CollagenPlaque, combi1,
    combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet, concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti,
    concanti2, concbblo, concbblo2, conccalc, conccalc2, conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3,
    conccort, conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc, concgluc2, concgluc3,
    concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr, concnitr2, concotant, concotcor, concoth2, concothe, concpros,
    concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2, concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen,
    corticos, cortihorm2, creat, crp_all, CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61,
    date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst, dateapprox1, dateapprox2,
    dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest, dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4,
    dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802, diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813,
    diet814, diet815, diet816, diet817, diet818, diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite,
    duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD, EMMPRIN_58kD, ENDOGLIN, endpoint1, endpoint2, endpoint3,
    endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days, ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years,
    EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite, EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days,
    EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years,
    EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years,
    EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke, ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years,
    EP_leg_amputation, EP_leg_amputation_time, ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days,
    EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years, EP_peripheral,
    ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time, EP_stroke, ep_stroke_t_30days,
    ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath,
    ep_strokedeath_t_30days, ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years,
    epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days, epdeath.3years, epfatalCVA.30days,
    epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years,
    epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years,
    epstrokedeath.30days, epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905, exer906,
    exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4, FABP4_pg_ug, FABP4_serum_luminex, fat,
    Fat.bin_10, Fat.bin_40, Fat10Perc, Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth,
    FH_amp_comp, FH_amp_mat, FH_amp_parent, FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling,
    FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp,
    FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp, FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat,
    FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat,
    FH_HC_parent, FH_HC_pat, FH_HC_sibling, FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp,
    FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent, FH_otherCVD_pat,
    FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp,
    FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis, FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis,
    FH_risk_broth, FH_risk_comp, FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat, FH_Stroke_parent,
    FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent, FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$,
    folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date, FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR,
    FURIN_low, FURIN_up, GDF15_plasma, geen_med, Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum,
    HA, hb, HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var, heart300, heart301, heart302, heart303, heart304,
    heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314, heart315, heart316, heart317, heart318, heart319, heart320,
    heart321, heart322, heart323, heart324, heart325, heart326, heart327, heart328, HIF1A, ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON,
    Hypertension.composite, Hypertension.drugs, Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL10_rank, IL12,
    IL12_rank, IL13, IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ug_2015, IL6_rank, IL6R_pg_ug_2015, IL8, IL8_pg_ug_2015,
    IL8_rank, IL9, IL9_rank, indexsymptoms_latest, indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin,
    insuline, INVULDAT, IP10, IP10_rank, IPH, IPH_extended.bin, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif,
    LDL_final, LDL_finalCU, ldl_source, LDL_var, leg501, leg502, leg503, leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515,
    leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank, Macrophages.bin, MAP,
    Mast_cells_plaque, max.followup, MCP1, MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_rank, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock,
    Med.ACE_inh, Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag, Med.antiarrh,
    Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic, Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin,
    Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media, MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank,
    miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8, MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14,
    MRP_8, MRP_8_14C, MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5, neutrophils, NGAL,
    NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1, NOD2, nogobt1_recalculated, NTproBNP_plasma,
    Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells, Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706,
    oac707, oac708, oac709, oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma, OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc,
    oralgluc2, oralgluc3, oralgluc4, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma,
    PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4, Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, plaquephenotype, positibl, PrimaryLast,
    PrimaryLast1, prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309, qual0310, qual0401,
    qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908,
    qual0909, qual1010, qual1101, qual1102, qual1103, qual1104, RAAS_med, RANTES, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01, Renine_recode,
    renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610, risk611, risk612,
    risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2, SMAD3, smc, SMC_LN, smc_location,
    smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P, statin2, statines, ste3mext, sten1yr, sten3mo,
    stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history,
    StrokeTIA_Symptoms, STUDY_NUMBER, sympt, Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all, TG_avg, TG_clinic, TG_dif, TG_final,
    TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus, thrombus_location, thrombus_new, thrombus_organization, thrombus_organization_v2, thrombus_percentage,
    thyros2, thyrosta, Time_event_OR, TimeOR_latest, TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol,
    totalcholesterol_source, tractdig, tractdig2, tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Trop1, Trop1DT, Trop2, Trop2DT,
    Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID, validation_date, validation1, validation2, validation3,
    validation4, validation5, validation6, VAR00001, VEGFA, VEGFA_plasma, VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged,
    vessel_density_Timo2012, vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST, vWF_plasma,
    WBC_THAW, Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3, yearangi,
    yearanta, yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2,
    yearclop, yearcom1, yearcom2, yearcom3, yearcort, yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec,
    yeareye, yeargluc, yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2,
    yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat,
    yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
AEDB.CEA$yeartemp <- as.numeric(year(AEDB.CEA$dateok))
AEDB.CEA[,"ORyearGroup"] <- NA
AEDB.CEA$ORyearGroup[yeartemp <= 2007] <- "< 2007"
AEDB.CEA$ORyearGroup[yeartemp > 2007] <- "> 2007"
detach(AEDB.CEA)

table(AEDB.CEA$ORyearGroup, AEDB.CEA$ORdate_year)
        
         2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
  < 2007   81  157  190  185  183  152    0    0    0    0    0    0    0    0    0    0    0    0
  > 2007    0    0    0    0    0    0  138  182  159  164  176  149  163   76   85   65   66   52
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/ug]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p2 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ml_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p2, legend = "bottom", legend.title = "Plaque vulnerability index")


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p3 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 1)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p3, legend = "bottom", legend.title = "Plaque vulnerability index")



p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/ug]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p2 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ml_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p2, legend = "bottom", legend.title = "Plaque vulnerability index")


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p3 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 1)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p3, legend = "bottom", legend.title = "Plaque vulnerability index")

Model 1

In this model we correct for Age, Gender, and year of surgery.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Analysis of the plaque vulnerability indez as a function of plasma/plaque MCP1 levels.

TRAITS.PROTEIN.RANK.extra = c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank",  "MCP1_rank")

GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK.extra)) {
  PROTEIN = TRAITS.PROTEIN.RANK.extra[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "Plaque_Vulnerability_Index"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1, ORdate_epoch) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    # table(currentDF$ORdate_year)
    ### univariate
     # + Hypertension.composite + DiabetesStatus + SmokerCurrent + 
     #            Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
     #            CAD_history + Stroke_history + Peripheral.interv + stenose
    fit <- polr(currentDF[,TRAIT] ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year, 
              data  =  currentDF, 
              Hess = TRUE)
    # model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    # print(model_step)
    print(summary(fit))
    
    ## store table
    (ctable <- coef(summary(fit)))
    ##                                Value Std. Error t value
    ## pared                        1.04769     0.2658  3.9418
    ## public                      -0.05879     0.2979 -0.1974
    ## gpa                          0.61594     0.2606  2.3632
    ## unlikely|somewhat likely     2.20391     0.7795  2.8272
    ## somewhat likely|very likely  4.29936     0.8043  5.3453
    ## calculate and store p values
    p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
    
    ## combined table
    print((ctable <- cbind(ctable, "p value" = p)))
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing Plaque_Vulnerability_Index
design appears to be rank-deficient, so dropping some coefs
Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                       Value Std. Error t value
currentDF[, PROTEIN]  0.3057   0.058114  5.2602
Age                   0.0121   0.005715  2.1179
Gendermale            0.7740   0.114391  6.7663
ORdate_year2003       0.4959   0.296359  1.6732
ORdate_year2004       0.5485   0.288135  1.9037
ORdate_year2005       0.4627   0.290954  1.5903
ORdate_year2006       0.3265   0.289142  1.1292
ORdate_year2007       0.3705   0.288504  1.2843
ORdate_year2008      -0.5643   0.308477 -1.8293
ORdate_year2009      -0.4251   0.306478 -1.3870
ORdate_year2010      -0.5996   0.306899 -1.9536
ORdate_year2011      -0.9460   0.298813 -3.1659
ORdate_year2012      -0.7192   0.306270 -2.3484
ORdate_year2013      -3.4684   0.551562 -6.2883
ORdate_year2014       0.2310   1.543815  0.1496

Intercepts:
    Value   Std. Error t value
0|1 -1.2832  0.4676    -2.7445
1|2  0.2046  0.4612     0.4437
2|3  1.4286  0.4627     3.0875
3|4  2.9913  0.4691     6.3761
4|5  4.7160  0.4889     9.6466

Residual Deviance: 3724.532 
AIC: 3764.532 
                           Value  Std. Error    t value      p value
currentDF[, PROTEIN]  0.30569322 0.058114324  5.2602044 1.438954e-07
Age                   0.01210316 0.005714604  2.1179347 3.418060e-02
Gendermale            0.77399704 0.114390587  6.7662651 1.321493e-11
ORdate_year2003       0.49585913 0.296359468  1.6731678 9.429426e-02
ORdate_year2004       0.54851725 0.288135147  1.9036805 5.695181e-02
ORdate_year2005       0.46270314 0.290953970  1.5902967 1.117679e-01
ORdate_year2006       0.32649166 0.289141566  1.1291758 2.588237e-01
ORdate_year2007       0.37053291 0.288503596  1.2843268 1.990276e-01
ORdate_year2008      -0.56430545 0.308477270 -1.8293259 6.735081e-02
ORdate_year2009      -0.42509922 0.306478054 -1.3870462 1.654277e-01
ORdate_year2010      -0.59956082 0.306899333 -1.9536074 5.074766e-02
ORdate_year2011      -0.94599990 0.298813488 -3.1658541 1.546283e-03
ORdate_year2012      -0.71923380 0.306269979 -2.3483653 1.885602e-02
ORdate_year2013      -3.46837812 0.551561850 -6.2882850 3.209922e-10
ORdate_year2014       0.23099155 1.543815040  0.1496239 8.810614e-01
0|1                  -1.28324430 0.467560971 -2.7445496 6.059399e-03
1|2                   0.20464146 0.461248185  0.4436689 6.572820e-01
2|3                   1.42858169 0.462698670  3.0874990 2.018484e-03
3|4                   2.99126034 0.469133681  6.3761364 1.816112e-10
4|5                   4.71603386 0.488882868  9.6465517 5.083645e-22

Analysis of MCP1_pg_ml_2015_rank.

- processing Plaque_Vulnerability_Index
design appears to be rank-deficient, so dropping some coefs
Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                        Value Std. Error  t value
currentDF[, PROTEIN]  0.49640   0.061426  8.08130
Age                   0.01055   0.005737  1.83860
Gendermale            0.64459   0.115868  5.56312
ORdate_year2003       0.56040   0.296325  1.89117
ORdate_year2004       0.66559   0.287471  2.31532
ORdate_year2005       0.51828   0.288266  1.79792
ORdate_year2006       0.22049   0.286933  0.76843
ORdate_year2007       0.30253   0.287285  1.05307
ORdate_year2008      -0.75110   0.308156 -2.43742
ORdate_year2009      -0.62203   0.308254 -2.01793
ORdate_year2010      -0.72838   0.307038 -2.37229
ORdate_year2011      -1.18831   0.301396 -3.94270
ORdate_year2012      -0.97388   0.306639 -3.17600
ORdate_year2013      -3.79678   0.571861 -6.63934
ORdate_year2014       0.13910   1.547820  0.08987

Intercepts:
    Value   Std. Error t value
0|1 -1.6004  0.4694    -3.4092
1|2 -0.0928  0.4625    -0.2006
2|3  1.1629  0.4634     2.5097
3|4  2.7553  0.4694     5.8702
4|5  4.4926  0.4887     9.1935

Residual Deviance: 3690.587 
AIC: 3730.587 
                           Value  Std. Error     t value      p value
currentDF[, PROTEIN]  0.49640303 0.061426118  8.08130238 6.407870e-16
Age                   0.01054841 0.005737182  1.83860451 6.597338e-02
Gendermale            0.64458944 0.115868286  5.56312219 2.649902e-08
ORdate_year2003       0.56040215 0.296325240  1.89117252 5.860132e-02
ORdate_year2004       0.66558719 0.287470504  2.31532342 2.059524e-02
ORdate_year2005       0.51828038 0.288266450  1.79792128 7.218948e-02
ORdate_year2006       0.22048748 0.286932533  0.76842970 4.422319e-01
ORdate_year2007       0.30253246 0.287284814  1.05307500 2.923066e-01
ORdate_year2008      -0.75110315 0.308155608 -2.43741515 1.479269e-02
ORdate_year2009      -0.62203318 0.308253755 -2.01792573 4.359900e-02
ORdate_year2010      -0.72838346 0.307038066 -2.37229042 1.767819e-02
ORdate_year2011      -1.18831404 0.301395943 -3.94270085 8.056913e-05
ORdate_year2012      -0.97388411 0.306638573 -3.17600002 1.493209e-03
ORdate_year2013      -3.79677843 0.571860557 -6.63934308 3.150842e-11
ORdate_year2014       0.13909661 1.547820408  0.08986612 9.283936e-01
0|1                  -1.60038302 0.469430932 -3.40919805 6.515416e-04
1|2                  -0.09276549 0.462476705 -0.20058414 8.410238e-01
2|3                   1.16294943 0.463373351  2.50974604 1.208180e-02
3|4                   2.75528554 0.469364823  5.87024293 4.351570e-09
4|5                   4.49257395 0.488668440  9.19350134 3.802580e-20

Analysis of MCP1_rank.

- processing Plaque_Vulnerability_Index
design appears to be rank-deficient, so dropping some coefs
Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                       Value Std. Error t value
currentDF[, PROTEIN] 0.57203   0.084229   6.791
Age                  0.01808   0.009025   2.003
Gendermale           0.67365   0.173664   3.879
ORdate_year2003      0.43422   0.277352   1.566
ORdate_year2004      0.39935   0.267208   1.495
ORdate_year2005      0.29320   0.267175   1.097
ORdate_year2006      0.55501   0.416024   1.334

Intercepts:
    Value   Std. Error t value
0|1 -1.3622  0.6784    -2.0080
1|2  0.3669  0.6571     0.5583
2|3  1.7271  0.6595     2.6188
3|4  3.3951  0.6713     5.0572
4|5  5.0232  0.6926     7.2529

Residual Deviance: 1678.934 
AIC: 1702.934 
                           Value  Std. Error    t value      p value
currentDF[, PROTEIN]  0.57202541 0.084228722  6.7913343 1.111012e-11
Age                   0.01808048 0.009024701  2.0034439 4.512966e-02
Gendermale            0.67365410 0.173664343  3.8790583 1.048616e-04
ORdate_year2003       0.43421860 0.277352217  1.5655855 1.174457e-01
ORdate_year2004       0.39935278 0.267208177  1.4945380 1.350350e-01
ORdate_year2005       0.29319541 0.267175436  1.0973891 2.724713e-01
ORdate_year2006       0.55501313 0.416023652  1.3340903 1.821743e-01
0|1                  -1.36218766 0.678391513 -2.0079668 4.464682e-02
1|2                   0.36690940 0.657133562  0.5583483 5.766066e-01
2|3                   1.72706246 0.659490126  2.6187844 8.824370e-03
3|4                   3.39510771 0.671343089  5.0571872 4.254854e-07
4|5                   5.02318542 0.692576136  7.2528999 4.079414e-13

Model 2

In this model we correct for Age, Gender, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis..


for (protein in 1:length(TRAITS.PROTEIN.RANK.extra)) {
  PROTEIN = TRAITS.PROTEIN.RANK.extra[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "Plaque_Vulnerability_Index"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate

    fit <- polr(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, 
              data  =  currentDF, 
              Hess = TRUE)

    print(summary(fit))
    
    ## store table
    (ctable <- coef(summary(fit)))

    ## calculate and store p values
    p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
    
    ## combined table
    print((ctable <- cbind(ctable, "p value" = p)))
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing Plaque_Vulnerability_Index
design appears to be rank-deficient, so dropping some coefs
Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                             Value Std. Error  t value
currentDF[, PROTEIN]      0.305332   0.063077  4.84061
Age                       0.007468   0.007140  1.04592
Gendermale                0.785610   0.128340  6.12132
ORdate_year2003           0.515957   0.312661  1.65021
ORdate_year2004           0.610638   0.302574  2.01814
ORdate_year2005           0.540695   0.306925  1.76165
ORdate_year2006           0.321004   0.308511  1.04049
ORdate_year2007           0.346536   0.314148  1.10310
ORdate_year2008          -0.525459   0.336624 -1.56097
ORdate_year2009          -0.345325   0.327635 -1.05399
ORdate_year2010          -0.577428   0.322771 -1.78897
ORdate_year2011          -1.017953   0.317861 -3.20251
ORdate_year2012          -1.022643   0.342484 -2.98596
ORdate_year2013          -3.212987   0.694778 -4.62448
Hypertension.compositeno  0.133924   0.174974  0.76539
DiabetesStatusDiabetes   -0.189752   0.138801 -1.36708
SmokerStatusEx-smoker     0.058149   0.129516  0.44897
SmokerStatusNever smoked  0.495909   0.184731  2.68450
Med.Statin.LLDno         -0.049707   0.138595 -0.35865
Med.all.antiplateletno    0.027994   0.198478  0.14104
GFR_MDRD                 -0.002442   0.003021 -0.80810
BMI                       0.001411   0.015807  0.08929
MedHx_CVDyes              0.193584   0.119075  1.62573
stenose0-49%              0.367682   0.936920  0.39244
stenose50-70%            -0.415337   0.702024 -0.59163
stenose70-90%            -0.373459   0.673734 -0.55431
stenose90-99%            -0.511653   0.675446 -0.75750
stenose100% (Occlusion)  -1.116142   0.883883 -1.26277
stenose50-99%            -1.080046   1.014918 -1.06417

Intercepts:
    Value   Std. Error t value
0|1 -2.0282  1.0478    -1.9356
1|2 -0.4682  1.0435    -0.4487
2|3  0.7706  1.0442     0.7380
3|4  2.3476  1.0471     2.2419
4|5  4.0284  1.0565     3.8130

Residual Deviance: 3213.842 
AIC: 3281.842 
                                Value  Std. Error     t value      p value
currentDF[, PROTEIN]      0.305331731 0.063077082  4.84061280 1.294394e-06
Age                       0.007467756 0.007139897  1.04591929 2.955983e-01
Gendermale                0.785609855 0.128340045  6.12131510 9.280617e-10
ORdate_year2003           0.515957154 0.312660748  1.65021403 9.889917e-02
ORdate_year2004           0.610638292 0.302574362  2.01814287 4.357638e-02
ORdate_year2005           0.540695474 0.306925483  1.76165064 7.812834e-02
ORdate_year2006           0.321003691 0.308510969  1.04049361 2.981106e-01
ORdate_year2007           0.346535921 0.314147617  1.10309900 2.699842e-01
ORdate_year2008          -0.525459304 0.336623918 -1.56096842 1.185312e-01
ORdate_year2009          -0.345324946 0.327634807 -1.05399347 2.918859e-01
ORdate_year2010          -0.577427919 0.322770600 -1.78897310 7.361915e-02
ORdate_year2011          -1.017953362 0.317860938 -3.20251167 1.362348e-03
ORdate_year2012          -1.022643347 0.342483801 -2.98596122 2.826885e-03
ORdate_year2013          -3.212987260 0.694777901 -4.62448108 3.755374e-06
Hypertension.compositeno  0.133923508 0.174973718  0.76539214 4.440381e-01
DiabetesStatusDiabetes   -0.189752383 0.138800809 -1.36708413 1.715989e-01
SmokerStatusEx-smoker     0.058148532 0.129516298  0.44896691 6.534555e-01
SmokerStatusNever smoked  0.495909396 0.184730765  2.68449814 7.263879e-03
Med.Statin.LLDno         -0.049706679 0.138594750 -0.35864763 7.198587e-01
Med.all.antiplateletno    0.027993676 0.198477844  0.14104182 8.878369e-01
GFR_MDRD                 -0.002441513 0.003021313 -0.80809692 4.190348e-01
BMI                       0.001411415 0.015807418  0.08928813 9.288529e-01
MedHx_CVDyes              0.193583571 0.119074889  1.62572959 1.040072e-01
stenose0-49%              0.367682230 0.936920041  0.39243715 6.947352e-01
stenose50-70%            -0.415336580 0.702024088 -0.59162725 5.541002e-01
stenose70-90%            -0.373458653 0.673734134 -0.55431161 5.793656e-01
stenose90-99%            -0.511653424 0.675445610 -0.75750499 4.487474e-01
stenose100% (Occlusion)  -1.116142250 0.883882619 -1.26277203 2.066711e-01
stenose50-99%            -1.080046443 1.014917743 -1.06417141 2.872511e-01
0|1                      -2.028207198 1.047847709 -1.93559348 5.291751e-02
1|2                      -0.468222521 1.043507451 -0.44870070 6.536476e-01
2|3                       0.770592951 1.044187456  0.73798334 4.605246e-01
3|4                       2.347571838 1.047139411  2.24189044 2.496845e-02
4|5                       4.028422633 1.056510469  3.81295099 1.373174e-04

Analysis of MCP1_pg_ml_2015_rank.

- processing Plaque_Vulnerability_Index
design appears to be rank-deficient, so dropping some coefs
Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                             Value Std. Error  t value
currentDF[, PROTEIN]      0.501879   0.066104  7.59232
Age                       0.005080   0.007145  0.71100
Gendermale                0.669401   0.129803  5.15706
ORdate_year2003           0.568633   0.312735  1.81826
ORdate_year2004           0.710219   0.301668  2.35430
ORdate_year2005           0.582196   0.304527  1.91180
ORdate_year2006           0.213520   0.306856  0.69583
ORdate_year2007           0.291046   0.313525  0.92830
ORdate_year2008          -0.713068   0.336418 -2.11959
ORdate_year2009          -0.558510   0.330338 -1.69072
ORdate_year2010          -0.719264   0.322961 -2.22709
ORdate_year2011          -1.287328   0.321384 -4.00557
ORdate_year2012          -1.255026   0.343327 -3.65549
ORdate_year2013          -3.495730   0.710111 -4.92280
Hypertension.compositeno  0.145392   0.174904  0.83127
DiabetesStatusDiabetes   -0.186962   0.138971 -1.34533
SmokerStatusEx-smoker     0.059708   0.129523  0.46099
SmokerStatusNever smoked  0.514448   0.184561  2.78741
Med.Statin.LLDno         -0.083931   0.139279 -0.60261
Med.all.antiplateletno    0.036630   0.198318  0.18470
GFR_MDRD                 -0.003125   0.003022 -1.03391
BMI                       0.001107   0.015919  0.06957
MedHx_CVDyes              0.212898   0.119093  1.78766
stenose0-49%              0.298906   0.942521  0.31713
stenose50-70%            -0.337825   0.712555 -0.47410
stenose70-90%            -0.341555   0.684308 -0.49913
stenose90-99%            -0.458620   0.685690 -0.66884
stenose100% (Occlusion)  -1.081223   0.893424 -1.21020
stenose50-99%            -0.960389   1.021974 -0.93974

Intercepts:
    Value   Std. Error t value
0|1 -2.4167  1.0566    -2.2873
1|2 -0.8260  1.0518    -0.7854
2|3  0.4480  1.0520     0.4258
3|4  2.0572  1.0546     1.9507
4|5  3.7523  1.0636     3.5278

Residual Deviance: 3178.605 
AIC: 3246.605 
                                Value  Std. Error     t value      p value
currentDF[, PROTEIN]      0.501879199 0.066103565  7.59231663 3.142360e-14
Age                       0.005080065 0.007144933  0.71100239 4.770828e-01
Gendermale                0.669400843 0.129802923  5.15705524 2.508638e-07
ORdate_year2003           0.568632853 0.312735426  1.81825532 6.902512e-02
ORdate_year2004           0.710219343 0.301668437  2.35430445 1.855740e-02
ORdate_year2005           0.582196051 0.304526901  1.91180500 5.590121e-02
ORdate_year2006           0.213520140 0.306856142  0.69583140 4.865344e-01
ORdate_year2007           0.291045990 0.313524522  0.92830375 3.532500e-01
ORdate_year2008          -0.713068306 0.336418027 -2.11959006 3.404063e-02
ORdate_year2009          -0.558509819 0.330338382 -1.69072033 9.089023e-02
ORdate_year2010          -0.719264370 0.322960798 -2.22709497 2.594093e-02
ORdate_year2011          -1.287327723 0.321384309 -4.00557117 6.186780e-05
ORdate_year2012          -1.255026254 0.343326787 -3.65548597 2.566952e-04
ORdate_year2013          -3.495729585 0.710110642 -4.92279566 8.531653e-07
Hypertension.compositeno  0.145392288 0.174903932  0.83126940 4.058215e-01
DiabetesStatusDiabetes   -0.186962156 0.138971294 -1.34532931 1.785189e-01
SmokerStatusEx-smoker     0.059708447 0.129523089  0.46098689 6.448080e-01
SmokerStatusNever smoked  0.514448240 0.184561476  2.78740857 5.313144e-03
Med.Statin.LLDno         -0.083930727 0.139279305 -0.60260731 5.467700e-01
Med.all.antiplateletno    0.036629710 0.198318355  0.18470156 8.534631e-01
GFR_MDRD                 -0.003124921 0.003022440 -1.03390659 3.011798e-01
BMI                       0.001107444 0.015919188  0.06956661 9.445386e-01
MedHx_CVDyes              0.212897870 0.119093290  1.78765630 7.383148e-02
stenose0-49%              0.298906012 0.942521186  0.31713453 7.511415e-01
stenose50-70%            -0.337824920 0.712555374 -0.47410339 6.354262e-01
stenose70-90%            -0.341555425 0.684308239 -0.49912511 6.176912e-01
stenose90-99%            -0.458619919 0.685690201 -0.66884421 5.035949e-01
stenose100% (Occlusion)  -1.081222983 0.893423835 -1.21020163 2.262015e-01
stenose50-99%            -0.960389100 1.021974086 -0.93973919 3.473514e-01
0|1                      -2.416738740 1.056584061 -2.28731327 2.217754e-02
1|2                      -0.826027935 1.051769362 -0.78536984 4.322368e-01
2|3                       0.447979044 1.052036011  0.42582102 6.702383e-01
3|4                       2.057219388 1.054616979  1.95067918 5.109522e-02
4|5                       3.752259497 1.063624011  3.52780631 4.190186e-04

Analysis of MCP1_rank.

- processing Plaque_Vulnerability_Index
design appears to be rank-deficient, so dropping some coefs
Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                             Value Std. Error t value
currentDF[, PROTEIN]      0.586123   0.089511  6.5481
Age                       0.008787   0.010785  0.8147
Gendermale                0.744762   0.190135  3.9170
ORdate_year2003           0.449140   0.289888  1.5494
ORdate_year2004           0.457787   0.278941  1.6412
ORdate_year2005           0.352510   0.284574  1.2387
ORdate_year2006           0.552819   0.458885  1.2047
Hypertension.compositeno -0.315683   0.250322 -1.2611
DiabetesStatusDiabetes   -0.237524   0.213716 -1.1114
SmokerStatusEx-smoker    -0.096135   0.183641 -0.5235
SmokerStatusNever smoked  0.321597   0.276485  1.1632
Med.Statin.LLDno         -0.160459   0.192813 -0.8322
Med.all.antiplateletno    0.134754   0.300892  0.4478
GFR_MDRD                 -0.003760   0.004595 -0.8185
BMI                       0.035757   0.021837  1.6375
MedHx_CVDyes              0.209727   0.173756  1.2070
stenose0-49%             -0.921033   1.218981 -0.7556
stenose50-70%            -0.902415   0.865043 -1.0432
stenose70-90%            -0.208182   0.754066 -0.2761
stenose90-99%            -0.348934   0.755019 -0.4622

Intercepts:
    Value   Std. Error t value
0|1 -1.5450  1.3062    -1.1828
1|2  0.1986  1.2938     0.1535
2|3  1.6251  1.2962     1.2538
3|4  3.2419  1.3021     2.4898
4|5  4.8716  1.3124     3.7121

Residual Deviance: 1501.591 
AIC: 1551.591 
                                Value  Std. Error    t value      p value
currentDF[, PROTEIN]      0.586123426 0.089510862  6.5480704 5.828524e-11
Age                       0.008787238 0.010785201  0.8147496 4.152157e-01
Gendermale                0.744762316 0.190135350  3.9170113 8.965355e-05
ORdate_year2003           0.449139576 0.289887680  1.5493572 1.212959e-01
ORdate_year2004           0.457786932 0.278940674  1.6411623 1.007637e-01
ORdate_year2005           0.352510344 0.284573594  1.2387317 2.154449e-01
ORdate_year2006           0.552819029 0.458884551  1.2047018 2.283185e-01
Hypertension.compositeno -0.315683361 0.250322466 -1.2611068 2.072704e-01
DiabetesStatusDiabetes   -0.237523572 0.213715543 -1.1114005 2.663960e-01
SmokerStatusEx-smoker    -0.096135041 0.183640904 -0.5234947 6.006300e-01
SmokerStatusNever smoked  0.321597474 0.276485120  1.1631638 2.447631e-01
Med.Statin.LLDno         -0.160459149 0.192813267 -0.8321997 4.052962e-01
Med.all.antiplateletno    0.134753622 0.300892110  0.4478470 6.542636e-01
GFR_MDRD                 -0.003760483 0.004594556 -0.8184649 4.130918e-01
BMI                       0.035757146 0.021836549  1.6374907 1.015280e-01
MedHx_CVDyes              0.209727360 0.173755505  1.2070257 2.274222e-01
stenose0-49%             -0.921032868 1.218981332 -0.7555759 4.499035e-01
stenose50-70%            -0.902414539 0.865043004 -1.0432019 2.968548e-01
stenose70-90%            -0.208181570 0.754066447 -0.2760785 7.824877e-01
stenose90-99%            -0.348933790 0.755019447 -0.4621521 6.439723e-01
0|1                      -1.544977556 1.306240128 -1.1827669 2.369016e-01
1|2                       0.198563329 1.293847368  0.1534674 8.780297e-01
2|3                       1.625147067 1.296152141  1.2538243 2.099059e-01
3|4                       3.241937134 1.302078734  2.4898165 1.278091e-02
4|5                       4.871622600 1.312376782  3.7120609 2.055785e-04

Session information


Version:      v1.0.12
Last update:  2020-07-06
Written by:   Sander W. van der Laan (s.w.vanderlaan-2[at]umcutrecht.nl).
Description:  Script to analyse MCP1 from the Ather-Express Biobank Study.
Minimum requirements: R version 3.5.2 (2018-12-20) -- 'Eggshell Igloo', macOS Mojave (10.14.2).

**MoSCoW To-Do List**
The things we Must, Should, Could, and Would have given the time we have.
_M_
* ASAP - analysis on plasma based on OLINK platform
* DONE - analysis on the pilot dataset on the OLINK platform, comparing plasma vs. plaque
* DONE - linear regression models (model 1 and model 2) of `MCP1_pg_ug_2015` with cytokines
* DONE - check out the difference between the measuremens of `MCP1` and `MCP1_pg_ug_2015` > `MCP1_pg_ug_2015` and `MCP1_pg_ml_2015` give similar results, `MCP1_pg_ug_2015` is more correct as this is corrected for the total amount of protein in the protein-sample used for the measurement. 
* DONE - double check the plotting of the MACE
* DONE - add the statistics for the correlation of `MCP1_pg_ug_2015` with the cytokines
* DONE - add the comparison between `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`
* DONE - analysis in the context of year of surgery given Van Lammeren _et al._ 
* DONE - add analysis on vulnerability index
* DONE - add analysis on binary and ordinal plaque phenotypes
* DONE - add boxplots of MCP1 levels stratified by confounders/variables

_S_
* DONE prettify forest plot

_C_


_W_


**Changes log**
* v1.0.12 Add boxplots of MCP1 levels stratified by confounder/variables.
* v1.0.11 Add analysis of pilot data comparing OLINK-platform based MCP1 levels in plasma and plaque.
* v1.0.10 Add analyses for all three `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`. Add comparison between `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`. Add (and fixed) ordinal regression. Double checked which measurement to use. 
* v1.0.9 Added linear regression models for MCP1 vs. cytokines plaque levels. Double checked upload of MACE-plots. Added statistics from correlation (heatmap) to txt-file.
* v1.0.8 Fixed error in MCP1 plasma analysis. It turns out the `MCP1` and `MCP1_pg_ug_2015` variables are _both_ measured in plaque, in two separate experiments, exp. no. 1 and exp. no. 2, respectively. 
* v1.0.7 Fixed the per Age-group MCP1 Box plots. Added correlations with other cytokines in plaques.
* v1.0.6 Only analyses and figures that end up in the final manuscript.
* v1.0.5 Update with 30- and 90-days survival.
* v1.0.4 Updated with Cox-regressions.
* v1.0.3 Included more models.
* v1.0.2 Bugs fixed.
* v1.0.1 Extended with linear and logistic regressions.
* v1.0.0 Inital version.

sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-apple-darwin19.4.0 (64-bit)
Running under: macOS Catalina 10.15.5

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /usr/local/Cellar/openblas/0.3.10/lib/libopenblasp-r0.3.10.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] tools     stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] GGally_1.5.0               PerformanceAnalytics_2.0.4 xts_0.12-0                 zoo_1.8-8                  patchwork_1.0.0.9000       Hmisc_4.4-0               
 [7] Formula_1.2-3              lattice_0.20-41            survminer_0.4.6            survival_3.1-12            openxlsx_4.1.5             ggcorrplot_0.1.3.999      
[13] ggpubr_0.3.0               tableone_0.11.1            labelled_2.4.0             sjPlot_2.8.4               sjlabelled_1.1.5           haven_2.3.0               
[19] devtools_2.3.0             usethis_1.6.1              MASS_7.3-51.6              DT_0.13                    knitr_1.28                 forcats_0.5.0             
[25] stringr_1.4.0              purrr_0.3.4                tibble_3.0.1               ggplot2_3.3.0              tidyverse_1.3.0            data.table_1.12.8         
[31] naniar_0.5.1               tidyr_1.1.0                dplyr_0.8.5                optparse_1.6.6             readr_1.3.1               

loaded via a namespace (and not attached):
  [1] readxl_1.3.1        backports_1.1.7     plyr_1.8.6          splines_3.6.3       crosstalk_1.1.0.1   TH.data_1.0-10      inline_0.3.15       digest_0.6.25      
  [9] htmltools_0.4.0     fansi_0.4.1         checkmate_2.0.0     magrittr_1.5        memoise_1.1.0       cluster_2.1.0       remotes_2.1.1       modelr_0.1.8       
 [17] matrixStats_0.56.0  sandwich_2.5-1      prettyunits_1.1.1   jpeg_0.1-8.1        colorspace_1.4-1    rvest_0.3.5         mitools_2.4         xfun_0.14          
 [25] callr_3.4.3         crayon_1.3.4        jsonlite_1.6.1      lme4_1.1-23         glue_1.4.1          gtable_0.3.0        emmeans_1.4.7       sjstats_0.18.0     
 [33] sjmisc_2.8.4        car_3.0-8           pkgbuild_1.0.8      rstan_2.19.3        abind_1.4-5         scales_1.1.1        mvtnorm_1.1-0       DBI_1.1.0          
 [41] rstatix_0.5.0.999   ggeffects_0.14.3    Rcpp_1.0.4.6        htmlTable_1.13.3    xtable_1.8-4        performance_0.4.6   foreign_0.8-75      km.ci_0.5-2        
 [49] StanHeaders_2.19.2  stats4_3.6.3        survey_4.0          htmlwidgets_1.5.1   httr_1.4.1          getopt_1.20.3       RColorBrewer_1.1-2  acepack_1.4.1      
 [57] ellipsis_0.3.1      reshape_0.8.8       loo_2.2.0           pkgconfig_2.0.3     farver_2.0.3        nnet_7.3-14         dbplyr_1.4.3        tidyselect_1.1.0   
 [65] labeling_0.3        rlang_0.4.6         reshape2_1.4.4      effectsize_0.3.1    munsell_0.5.0       cellranger_1.1.0    cli_2.0.2           generics_0.0.2     
 [73] broom_0.5.6         evaluate_0.14       yaml_2.2.1          processx_3.4.2      fs_1.4.1            zip_2.0.4           survMisc_0.5.5      packrat_0.5.0      
 [81] visdat_0.5.3        nlme_3.1-148        xml2_1.3.2          compiler_3.6.3      rstudioapi_0.11     png_0.1-7           curl_4.3            e1071_1.7-3        
 [89] testthat_2.3.2      ggsignif_0.6.0      reprex_0.3.0        statmod_1.4.34      stringi_1.4.6       highr_0.8           ps_1.3.3            parameters_0.7.0   
 [97] desc_1.2.0          Matrix_1.2-18       nloptr_1.2.2.1      KMsurv_0.1-5        ggsci_2.9           vctrs_0.3.0         pillar_1.4.4        lifecycle_0.2.0    
[105] estimability_1.3    cowplot_1.0.0       insight_0.8.4       latticeExtra_0.6-29 R6_2.4.1            gridExtra_2.3       rio_0.5.16          sessioninfo_1.1.1  
[113] codetools_0.2-16    boot_1.3-25         assertthat_0.2.1    pkgload_1.0.2       rprojroot_1.3-2     withr_2.2.0         multcomp_1.4-13     parallel_3.6.3     
[121] mgcv_1.8-31         bayestestR_0.6.0    hms_0.5.3           quadprog_1.5-8      rpart_4.1-15        grid_3.6.3          class_7.3-17        coda_0.19-3        
[129] minqa_1.2.4         rmarkdown_2.1       carData_3.0-4       lubridate_1.7.8     base64enc_0.1-3    

Saving environment

save.image(paste0(PROJECT_loc, "/",Today,".",PROJECTNAME,".sample_selection.RData"))
© 1979-2020 Sander W. van der Laan | s.w.vanderlaan-2[at]umcutrecht.nl | swvanderlaan.github.io.
LS0tCnRpdGxlOiAiQXRoZXJvLUV4cHJlc3MgQmlvYmFuayBTdHVkeSAtLSBJTDYgYW5kIE1DUDEgcGxhcXVlIGxldmVscy4iCmF1dGhvcjogJ1tTYW5kZXIgVy4gdmFuIGRlciBMYWFuLCBQaERdKGh0dHBzOi8vc3d2YW5kZXJsYWFuLmdpdGh1Yi5pbykgfCBAc3d2YW5kZXJsYWFuOyBNYXJpb3MgR2Vvcmdha2lzOyBSYWluZXIgTWFsaWs7IE1hcnRpbiBEaWNoZ2FucycKZGF0ZTogJ2ByIFN5cy5EYXRlKClgJwpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazoKICAgIGNhY2hlOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgY29sbGFwc2U6IHllcwogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICBmaWcuYWxpZ246IGNlbnRlcgogICAgZmlnX2NhcHRpb246IHllcwogICAgZmlnX2hlaWdodDogMTAKICAgIGZpZ19yZXRpbmE6IDIKICAgIGZpZ193aWR0aDogMTIKICAgIHRoZW1lOiBwYXBlcgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDoKICAgICAgY29sbGFwc2VkOiBubwogICAgICBzbW9vdGhfc2Nyb2xsOiB5ZXMKbWFpbmZvbnQ6IEhlbHZldGljYQpzdWJ0aXRsZTogQW4gJ0F0aGVyby1FeHByZXNzIEJpb2JhbmsgU3R1ZHknIHByb2plY3QKZWRpdG9yX29wdGlvbnM6CiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KYGBge3IgZ2xvYmFsX29wdGlvbnMsIGluY2x1ZGUgPSBGQUxTRX0KIyBmdXJ0aGVyIGRlZmluZSBzb21lIGtuaXRyLW9wdGlvbnMuCmtuaXRyOjpvcHRzX2NodW5rJHNldChmaWcud2lkdGggPSAxMiwgZmlnLmhlaWdodCA9IDgsIGZpZy5wYXRoID0gJ0ZpZ3VyZXMvJywKICAgICAgICAgICAgICAgICAgICAgIGV2YWwgPSBUUlVFLCB3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkKYGBgCgojIFByZXBhcmF0aW9uCgpDbGVhbiB0aGUgZW52aXJvbm1lbnQuCmBgYHtyIENsZWFyRW52aXJvbm1lbnQsIGluY2x1ZGUgPSBGQUxTRX0Kcm0obGlzdCA9IGxzKCkpCmBgYAoKU2V0IGxvY2F0aW9ucywgYW5kIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KYGBge3IgTG9jYWxTeXN0ZW0sIGluY2x1ZGUgPSBGQUxTRX0KIyMjIE9wZXJhdGluZyBTeXN0ZW0gVmVyc2lvbgojIyMgTWFjIFBybwojIFJPT1RfbG9jID0gIi9Wb2x1bWVzL0VsaXRlUHJvUXgyTWVkaWEiCiMgR0VOT01JQ19sb2MgPSAiL1VzZXJzL3N2YW5kZXJsYWFuL2lDbG91ZC9HZW5vbWljcyIKCiMjIyBNYWNCb29rClJPT1RfbG9jID0gIi9Vc2Vycy9zd3ZhbmRlcmxhYW4iCkdFTk9NSUNfbG9jID0gcGFzdGUwKFJPT1RfbG9jLCAiL2lDbG91ZC9HZW5vbWljcyIpCgojIyMgR2VuZXJpYyBMb2NhdGlvbnMKQUVEQl9sb2MgPSBwYXN0ZTAoR0VOT01JQ19sb2MsICIvQUUtQUFBX0dTX0RCcyIpCkxBQl9sb2MgPSBwYXN0ZTAoR0VOT01JQ19sb2MsICIvTGFiQnVzaW5lc3MiKQpSRVNVTFRTID0gcGFzdGUwKFJPT1RfbG9jLCAiL1BMSU5LL2FuYWx5c2VzL2xvb2t1cHMvQUVfMjAxOTA5MTJfMDEwX01ESUNIR0FOU19TV1ZETEFBTl9JTDZfTUNQMSIpClJBV0RBVEEgPSBwYXN0ZTAoUk9PVF9sb2MsICIvUExJTksvX0FFX09SSUdJTkFMUy9BRVNDUk5BL3ByZXBwZWRfZGF0YSIpClBST0pFQ1RfbG9jID0gcGFzdGUwKFJPT1RfbG9jLCAiL1BMSU5LL2FuYWx5c2VzL2xvb2t1cHMvQUVfMjAxOTA5MTJfMDEwX01ESUNIR0FOU19TV1ZETEFBTl9JTDZfTUNQMSIpCgojIyMgU09NRSBWQVJJQUJMRVMgV0UgTkVFRCBET1dOIFRIRSBMSU5FCmNhdCgiXG5EZWZpbmluZyBwaGVub3R5cGVzIGFuZCBkYXRhc2V0cy5cbiIpClBST0pFQ1ROQU1FPSJJTDZNQ1AxIgojIFNVQlBST0pFQ1ROQU1FPSIiCgpjYXQoIlxuQ3JlYXRlIGEgbmV3IGFuYWx5c2lzIGRpcmVjdG9yeSwgaW5jbHVkaW5nIHN1YmRpcmVjdG9yaWVzLlxuIikKIyBBbmFseXNpcwppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKFBST0pFQ1RfbG9jLCAiLyIsUFJPSkVDVE5BTUUpKSwgCiAgICAgICBkaXIuY3JlYXRlKGZpbGUucGF0aChQUk9KRUNUX2xvYywgIi8iLFBST0pFQ1ROQU1FKSksIAogICAgICAgRkFMU0UpCkFOQUxZU0lTX2xvYyA9IHBhc3RlMChQUk9KRUNUX2xvYywiLyIsUFJPSkVDVE5BTUUpCgojIFBsb3RzCmlmZWxzZSghZGlyLmV4aXN0cyhmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL1BMT1RTIikpLCAKICAgICAgIGRpci5jcmVhdGUoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9QTE9UUyIpKSwgCiAgICAgICBGQUxTRSkKUExPVF9sb2MgPSBwYXN0ZTAoQU5BTFlTSVNfbG9jLCIvUExPVFMiKQoKIyBRQyBwbG90cwppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKFBMT1RfbG9jLCAiL1FDIikpLCAKICAgICAgIGRpci5jcmVhdGUoZmlsZS5wYXRoKFBMT1RfbG9jLCAiL1FDIikpLCAKICAgICAgIEZBTFNFKQpRQ19sb2MgPSBwYXN0ZTAoUExPVF9sb2MsIi9RQyIpCgojIE91dHB1dCBmaWxlcwppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9PVVRQVVQiKSksIAogICAgICAgZGlyLmNyZWF0ZShmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL09VVFBVVCIpKSwgCiAgICAgICBGQUxTRSkKT1VUX2xvYyA9IHBhc3RlMChBTkFMWVNJU19sb2MsICIvT1VUUFVUIikKCiMgQ09YIGFuYWx5c2lzCmlmZWxzZSghZGlyLmV4aXN0cyhmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL0NPWCIpKSwgCiAgICAgICBkaXIuY3JlYXRlKGZpbGUucGF0aChBTkFMWVNJU19sb2MsICIvQ09YIikpLCAKICAgICAgIEZBTFNFKQpDT1hfbG9jID0gcGFzdGUwKEFOQUxZU0lTX2xvYywgIi9DT1giKQoKIyBCYXNlbGluZSBjaGFyYWN0ZXJpc3RpY3MKaWZlbHNlKCFkaXIuZXhpc3RzKGZpbGUucGF0aChBTkFMWVNJU19sb2MsICIvQkFTRUxJTkUiKSksIAogICAgICAgZGlyLmNyZWF0ZShmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL0JBU0VMSU5FIikpLCAKICAgICAgIEZBTFNFKQpCQVNFTElORV9sb2MgPSBwYXN0ZTAoQU5BTFlTSVNfbG9jLCAiL0JBU0VMSU5FIikKCiMgU2FtcGxlIHNlbGVjdGlvbgppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9TRUxFQ1RJT05TIikpLCAKICAgICAgIGRpci5jcmVhdGUoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9TRUxFQ1RJT05TIikpLCAKICAgICAgIEZBTFNFKQpTRUxFQ1RJT05TX2xvYyA9IHBhc3RlMChBTkFMWVNJU19sb2MsICIvU0VMRUNUSU9OUyIpCgpjYXQoIlxuU2V0dGluZyB3b3JraW5nIGRpcmVjdG9yeSBhbmQgbGlzdGluZyBpdHMgY29udGVudHMuXG4iKQpzZXR3ZChwYXN0ZTAoUFJPSkVDVF9sb2MpKQpnZXR3ZCgpCmxpc3QuZmlsZXMoKQpgYGAKCkEgcGFja2FnZS1pbnN0YWxsYXRpb24gZnVuY3Rpb24uCmBgYHtyIEZ1bmN0aW9uOiBpbnN0YWxsYXRpb25zLCBpbmNsdWRlID0gRkFMU0V9Cmluc3RhbGwucGFja2FnZXMuYXV0byA8LSBmdW5jdGlvbih4KSB7IAogIHggPC0gYXMuY2hhcmFjdGVyKHN1YnN0aXR1dGUoeCkpIAogIGlmKGlzVFJVRSh4ICVpbiUgLnBhY2thZ2VzKGFsbC5hdmFpbGFibGUgPSBUUlVFKSkpIHsgCiAgICBldmFsKHBhcnNlKHRleHQgPSBzcHJpbnRmKCJyZXF1aXJlKFwiJXNcIikiLCB4KSkpCiAgfSBlbHNlIHsgCiAgICAjIFVwZGF0ZSBpbnN0YWxsZWQgcGFja2FnZXMgLSB0aGlzIG1heSBtZWFuIGEgZnVsbCB1cGdyYWRlIG9mIFIsIHdoaWNoIGluIHR1cm4KICAgICMgbWF5IG5vdCBiZSB3YXJyZW50ZWQuIAogICAgIyB1cGRhdGUuaW5zdGFsbC5wYWNrYWdlcy5hdXRvKGFzayA9IEZBTFNFKSAKICAgIGV2YWwocGFyc2UodGV4dCA9IHNwcmludGYoImluc3RhbGwucGFja2FnZXMoXCIlc1wiLCBkZXBlbmRlbmNpZXMgPSBUUlVFLCByZXBvcyA9IFwiaHR0cHM6Ly9jbG91ZC5yLXByb2plY3Qub3JnL1wiKSIsIHgpKSkKICB9CiAgaWYoaXNUUlVFKHggJWluJSAucGFja2FnZXMoYWxsLmF2YWlsYWJsZSA9IFRSVUUpKSkgeyAKICAgIGV2YWwocGFyc2UodGV4dCA9IHNwcmludGYoInJlcXVpcmUoXCIlc1wiKSIsIHgpKSkKICB9IGVsc2UgewogICAgaWYgKCFyZXF1aXJlTmFtZXNwYWNlKCJCaW9jTWFuYWdlciIpKQogICAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCiAgICAjIEJpb2NNYW5hZ2VyOjppbnN0YWxsKCkgIyB0aGlzIHdvdWxkIGVudGFpbCB1cGRhdGluZyBpbnN0YWxsZWQgcGFja2FnZXMsIHdoaWNoIGluIHR1cm5lZCBtYXkgbm90IGJlIHdhcnJlbnRlZAogICAgZXZhbChwYXJzZSh0ZXh0ID0gc3ByaW50ZigiQmlvY01hbmFnZXI6Omluc3RhbGwoXCIlc1wiKSIsIHgpKSkKICAgIGV2YWwocGFyc2UodGV4dCA9IHNwcmludGYoInJlcXVpcmUoXCIlc1wiKSIsIHgpKSkKICB9Cn0KYGBgCgpMb2FkIHRob3NlIHBhY2thZ2VzLgpgYGB7ciBTZXR0aW5nOiBsb2FkaW5nX3BhY2thZ2VzLCBpbmNsdWRlID0gRkFMU0V9Cmluc3RhbGwucGFja2FnZXMuYXV0bygicmVhZHIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIm9wdHBhcnNlIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJ0b29scyIpCmluc3RhbGwucGFja2FnZXMuYXV0bygiZHBseXIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oInRpZHlyIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJuYW5pYXIiKQoKIyBUbyBnZXQgJ2RhdGEudGFibGUnIHdpdGggJ2Z3cml0ZScgdG8gYmUgYWJsZSB0byBkaXJlY3RseSB3cml0ZSBnemlwcGVkLWZpbGVzCiMgUmVmOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80Mjc4ODQwMS9pcy1wb3NzaWJsZS10by11c2UtZndyaXRlLWZyb20tZGF0YS10YWJsZS13aXRoLWd6ZmlsZQojIGluc3RhbGwucGFja2FnZXMoImRhdGEudGFibGUiLCByZXBvcyA9ICJodHRwczovL1JkYXRhdGFibGUuZ2l0bGFiLmlvL2RhdGEudGFibGUiKQpsaWJyYXJ5KGRhdGEudGFibGUpCgppbnN0YWxsLnBhY2thZ2VzLmF1dG8oInRpZHl2ZXJzZSIpCmluc3RhbGwucGFja2FnZXMuYXV0bygia25pdHIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIkRUIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJNQVNTIikKIyBpbnN0YWxsLnBhY2thZ2VzLmF1dG8oIlNldXJhdCIpICMgbGF0ZXN0IHZlcnNpb24KCiMgSW5zdGFsbCB0aGUgZGV2dG9vbHMgcGFja2FnZSBmcm9tIEhhZGxleSBXaWNraGFtCmluc3RhbGwucGFja2FnZXMuYXV0bygnZGV2dG9vbHMnKQoKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJoYXZlbiIpCmluc3RhbGwucGFja2FnZXMuYXV0bygic2psYWJlbGxlZCIpCmluc3RhbGwucGFja2FnZXMuYXV0bygic2pQbG90IikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJsYWJlbGxlZCIpCmluc3RhbGwucGFja2FnZXMuYXV0bygidGFibGVvbmUiKQoKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJnZ3B1YnIiKQoKYGBgCgpXZSB3aWxsIGNyZWF0ZSBhIGRhdGVzdGFtcCBhbmQgZGVmaW5lIHRoZSBVdHJlY2h0IFNjaWVuY2UgUGFyayBDb2xvdXIgU2NoZW1lLgpgYGB7ciBTZXR0aW5nOiBDb2xvcnMsIGluY2x1ZGUgPSBGQUxTRX0KClRvZGF5ID0gZm9ybWF0KGFzLkRhdGUoYXMuUE9TSVhsdChTeXMudGltZSgpKSksICIlWSVtJWQiKQpUb2RheS5SZXBvcnQgPSBmb3JtYXQoYXMuRGF0ZShhcy5QT1NJWGx0KFN5cy50aW1lKCkpKSwgIiVBLCAlQiAlZCwgJVkiKQoKIyMjIFV0cmVjaHRTY2llbmNlUGFya0NvbG91cnNTY2hlbWUKIyMjCiMjIyBXZWJzaXRldG9jb252ZXJ0SEVYdG9SR0I6aHR0cDovL2hleC5jb2xvcnJycy5jb20uCiMjIyBGb3Jzb21lZnVuY3Rpb25zeW91c2hvdWxkZGl2aWRldGhlc2VudW1iZXJzYnkyNTUuCiMjIyAKIyMjCU5vLglDb2xvcgkJCSAgICAgIEhFWAkoUkdCKQkJCQkJCSAgICAgICAgICAgICAgQ0hSCQkgIE1BRi9JTkZPCiMjIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIyMJMQkgIHllbGxvdwkJCSAgICAjRkJCODIwICgyNTEsMTg0LDMyKQkJCQkgICAgICA9PgkxCQlvciAxLjA+SU5GTwojIyMJMgkgIGdvbGQJCQkgICAgICAjRjU5RDEwICgyNDUsMTU3LDE2KQkJCQkgICAgICA9PgkyCQkKIyMjCTMJICBzYWxtb24JCQkgICAgI0U1NTczOCAoMjI5LDg3LDU2KQkJCQkgICAgICA9PgkzCQlvciAwLjA1PE1BRjwwLjIgb3IgMC40PElORk88MC42CiMjIwk0CSAgZGFya3BpbmsJCSAgICAjREIwMDNGICgoMjE5LDAsNjMpCQkJCSAgICAgID0+CTQJCQojIyMJNQkgIGxpZ2h0cGluawkJICAgICNFMzU0OTMgKDIyNyw4NCwxNDcpCQkJCSAgICAgID0+CTUJCW9yIDAuODxJTkZPPDEuMAojIyMJNgkgIHBpbmsJCQkgICAgICAjRDUyNjdCICgyMTMsMzgsMTIzKQkJCQkgICAgICA9Pgk2CQkKIyMjCTcJICBoYXJkcGluawkJICAgICNDQzAwNzEgKDIwNCwwLDExMykJCQkJICAgICAgPT4JNwkJCiMjIwk4CSAgbGlnaHRwdXJwbGUJICAgICNBODQ0OEEgKDE2OCw2OCwxMzgpCQkJCSAgICAgID0+CTgJCQojIyMJOQkgIHB1cnBsZQkJCSAgICAjOUEzNDgwICgxNTQsNTIsMTI4KQkJCQkgICAgICA9Pgk5CQkKIyMjCTEwCWxhdmVuZGVsCQkgICAgIzhENUI5QSAoMTQxLDkxLDE1NCkJCQkJICAgICAgPT4JMTAJCQojIyMJMTEJYmx1ZXB1cnBsZQkJICAjNzA1Mjk2ICgxMTIsODIsMTUwKQkJCQkgICAgICA9PgkxMQkJCiMjIwkxMglwdXJwbGVibHVlCQkgICM2ODZBQTkgKDEwNCwxMDYsMTY5KQkJCSAgICAgID0+CTEyCQkKIyMjCTEzCWxpZ2h0cHVycGxlYmx1ZQkjNjE3M0FEICg5NywxMTUsMTczLzEwMSwxMjAsMTgwKQk9PgkxMwkJCiMjIwkxNAlzZWFibHVlCQkJICAgICM0QzgxQkYgKDc2LDEyOSwxOTEpCQkJCSAgICAgID0+CTE0CQkKIyMjCTE1CXNreWJsdWUJCQkgICAgIzJGOEJDOSAoNDcsMTM5LDIwMSkJCQkJICAgICAgPT4JMTUJCQojIyMJMTYJYXp1cmJsdWUJCSAgICAjMTI5MEQ5ICgxOCwxNDQsMjE3KQkJCQkgICAgICA9PgkxNgkJb3IgMC4wMTxNQUY8MC4wNSBvciAwLjI8SU5GTzwwLjQKIyMjCTE3CWxpZ2h0YXp1cmJsdWUJICAjMTM5NkQ4ICgxOSwxNTAsMjE2KQkJCQkgICAgICA9PgkxNwkJCiMjIwkxOAlncmVlbmJsdWUJCSAgICAjMTVBNkMxICgyMSwxNjYsMTkzKQkJCQkgICAgICA9PgkxOAkJCiMjIwkxOQlzZWF3ZWVkZ3JlZW4JICAjNUVCMTdGICg5NCwxNzcsMTI3KQkJCQkgICAgICA9PgkxOQkJCiMjIwkyMAl5ZWxsb3dncmVlbgkJICAjODZCODMzICgxMzQsMTg0LDUxKQkJCQkgICAgICA9PgkyMAkJCiMjIwkyMQlsaWdodG1vc3NncmVlbgkjQzVEMjIwICgxOTcsMjEwLDMyKQkJCQkgICAgICA9PgkyMQkJCiMjIwkyMgltb3NzZ3JlZW4JCSAgICAjOUZDMjI4ICgxNTksMTk0LDQwKQkJCQkgICAgICA9PgkyMgkJb3IgTUFGPjAuMjAgb3IgMC42PElORk88MC44CiMjIwkyMwlsaWdodGdyZWVuCSAgCSM3OEIxMTMgKDEyMCwxNzcsMTkpCQkJCSAgICAgID0+CTIzL1gKIyMjCTI0CWdyZWVuCQkJICAgICAgIzQ5QTAxRCAoNzMsMTYwLDI5KQkJCQkgICAgICA9PgkyNC9ZCiMjIwkyNQlncmV5CQkJICAgICAgIzU5NUE1QyAoODksOTAsOTIpCQkJCSAgICAgICAgPT4JMjUvWFkJb3IgTUFGPDAuMDEgb3IgMC4wPElORk88MC4yCiMjIwkyNglsaWdodGdyZXkJCSAgICAjQTJBM0E0CSgxNjIsMTYzLDE2NCkJCQkgICAgICA9PgkyNi9NVAojIyMKIyMjCUFERElUSU9OQUwgQ09MT1JTCiMjIwkyNwltaWRncmV5CQkJI0Q3RDhENwojIyMJMjgJdmVyeWxpZ2h0Z3JleQkjRUNFQ0VDIgojIyMJMjkJd2hpdGUJCQkjRkZGRkZGCiMjIwkzMAlibGFjawkJCSMwMDAwMDAKIyMjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKdWl0aG9mX2NvbG9yID0gYygiI0ZCQjgyMCIsIiNGNTlEMTAiLCIjRTU1NzM4IiwiI0RCMDAzRiIsIiNFMzU0OTMiLCIjRDUyNjdCIiwKICAgICAgICAgICAgICAgICAiI0NDMDA3MSIsIiNBODQ0OEEiLCIjOUEzNDgwIiwiIzhENUI5QSIsIiM3MDUyOTYiLCIjNjg2QUE5IiwKICAgICAgICAgICAgICAgICAiIzYxNzNBRCIsIiM0QzgxQkYiLCIjMkY4QkM5IiwiIzEyOTBEOSIsIiMxMzk2RDgiLCIjMTVBNkMxIiwKICAgICAgICAgICAgICAgICAiIzVFQjE3RiIsIiM4NkI4MzMiLCIjQzVEMjIwIiwiIzlGQzIyOCIsIiM3OEIxMTMiLCIjNDlBMDFEIiwKICAgICAgICAgICAgICAgICAiIzU5NUE1QyIsIiNBMkEzQTQiLCAiI0Q3RDhENyIsICIjRUNFQ0VDIiwgIiNGRkZGRkYiLCAiIzAwMDAwMCIpCgp1aXRob2ZfY29sb3JfbGVnZW5kID0gYygiI0ZCQjgyMCIsICIjRjU5RDEwIiwgIiNFNTU3MzgiLCAiI0RCMDAzRiIsICIjRTM1NDkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIiNENTI2N0IiLCAiI0NDMDA3MSIsICIjQTg0NDhBIiwgIiM5QTM0ODAiLCAiIzhENUI5QSIsCiAgICAgICAgICAgICAgICAgICAgICAgICIjNzA1Mjk2IiwgIiM2ODZBQTkiLCAiIzYxNzNBRCIsICIjNEM4MUJGIiwgIiMyRjhCQzkiLAogICAgICAgICAgICAgICAgICAgICAgICAiIzEyOTBEOSIsICIjMTM5NkQ4IiwgIiMxNUE2QzEiLCAiIzVFQjE3RiIsICIjODZCODMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIiNDNUQyMjAiLCAiIzlGQzIyOCIsICIjNzhCMTEzIiwgIiM0OUEwMUQiLCAiIzU5NUE1QyIsCiAgICAgICAgICAgICAgICAgICAgICAgICIjQTJBM0E0IiwgIiNEN0Q4RDciLCAiI0VDRUNFQyIsICIjRkZGRkZGIiwgIiMwMDAwMDAiKQoKI2dncGxvdDIgZGVmYXVsdCBjb2xvciBwYWxldHRlCmdnX2NvbG9yX2h1ZSA8LSBmdW5jdGlvbihuKSB7CiAgaHVlcyA9IHNlcSgxNSwgMzc1LCBsZW5ndGggPSBuICsgMSkKICBoY2woaCA9IGh1ZXMsIGwgPSA2NSwgYyA9IDEwMClbMTpuXQp9CgojIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgYGAKCgpgYGB7ciBBbmFseXNpcyBGdW5jdGlvbnN9CiMgRnVuY3Rpb24gdG8gZ3JlcCBkYXRhIGZyb20gZ2xtKCkvbG0oKQpHTE0uQ09OIDwtIGZ1bmN0aW9uKGZpdCwgREFUQVNFVCwgeF9uYW1lLCB5LCB2ZXJib3NlPWMoVFJVRSxGQUxTRSkpewogIGNhdCgiQW5hbHl6aW5nIGluIGRhdGFzZXQgJyIsIERBVEFTRVQgLCInIHRoZSBhc3NvY2lhdGlvbiBvZiAnIiwgeF9uYW1lICwiJyB3aXRoICciLCB5ICwiJyAuXG4iKQogIGlmIChucm93KHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHMpID09IDEpIHsKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCByZXAoTkEsOCkpCiAgICBjYXQoIk1vZGVsIG5vdCBmaXR0ZWQ7IHByb2JhYmx5IHNpbmd1bGFyLlxuIikKICB9ZWxzZSB7CiAgICBjYXQoIkNvbGxlY3RpbmcgZGF0YS5cblxuIikKICAgIGVmZmVjdHNpemUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0KICAgIFNFID0gc3VtbWFyeShmaXQpJGNvZWZmaWNpZW50c1syLDJdCiAgICBPUmVmZmVjdCA9IGV4cChzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0pCiAgICBDSV9sb3cgPSBleHAoZWZmZWN0c2l6ZSAtIDEuOTYgKiBTRSkKICAgIENJX3VwID0gZXhwKGVmZmVjdHNpemUgKyAxLjk2ICogU0UpCiAgICB0dmFsdWUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsM10KICAgIHB2YWx1ZSA9IHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHNbMiw0XQogICAgUiA9IHN1bW1hcnkoZml0KSRyLnNxdWFyZWQKICAgIFIuYWRqID0gc3VtbWFyeShmaXQpJGFkai5yLnNxdWFyZWQKICAgIHNhbXBsZV9zaXplID0gbnJvdyhtb2RlbC5mcmFtZShmaXQpKQogICAgQUVfTiA9IEFFREIuQ0VBLnNhbXBsZXNpemUKICAgIFBlcmNfTWlzcyA9IDEwMCAtICgoc2FtcGxlX3NpemUgKiAxMDApL0FFX04pCiAgICAKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCBlZmZlY3RzaXplLCBTRSwgT1JlZmZlY3QsIENJX2xvdywgQ0lfdXAsIHR2YWx1ZSwgcHZhbHVlLCBSLCBSLmFkaiwgQUVfTiwgc2FtcGxlX3NpemUsIFBlcmNfTWlzcykKICAgIAogICAgaWYgKHZlcmJvc2UgPT0gVFJVRSkgewogICAgY2F0KCJXZSBoYXZlIGNvbGxlY3RlZCB0aGUgZm9sbG93aW5nIGFuZCBzdW1tYXJpemUgaXQgaW4gYW4gb2JqZWN0OlxuIikKICAgIGNhdCgiRGF0YXNldC4uLi4uLi4uLi4uLi4uLi4uLi46IiwgREFUQVNFVCwgIlxuIikKICAgIGNhdCgiU2NvcmUvRXhwb3N1cmUvYmlvbWFya2VyLi46IiwgeF9uYW1lLCAiXG4iKQogICAgY2F0KCJUcmFpdC9vdXRjb21lLi4uLi4uLi4uLi4uLjoiLCB5LCAiXG4iKQogICAgY2F0KCJFZmZlY3Qgc2l6ZS4uLi4uLi4uLi4uLi4uLjoiLCByb3VuZChlZmZlY3RzaXplLCA2KSwgIlxuIikKICAgIGNhdCgiU3RhbmRhcmQgZXJyb3IuLi4uLi4uLi4uLi46Iiwgcm91bmQoU0UsIDYpLCAiXG4iKQogICAgY2F0KCJPZGRzIHJhdGlvIChlZmZlY3Qgc2l6ZSkuLjoiLCByb3VuZChPUmVmZmVjdCwgMyksICJcbiIpCiAgICBjYXQoIkxvd2VyIDk1JSBDSS4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKENJX2xvdywgMyksICJcbiIpCiAgICBjYXQoIlVwcGVyIDk1JSBDSS4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKENJX3VwLCAzKSwgIlxuIikKICAgIGNhdCgiVC12YWx1ZS4uLi4uLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQodHZhbHVlLCA2KSwgIlxuIikKICAgIGNhdCgiUC12YWx1ZS4uLi4uLi4uLi4uLi4uLi4uLi46Iiwgc2lnbmlmKHB2YWx1ZSwgOCksICJcbiIpCiAgICBjYXQoIlJeMi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKFIsIDYpLCAiXG4iKQogICAgY2F0KCJBZGp1c3RlZCByXjIuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChSLmFkaiwgNiksICJcbiIpCiAgICBjYXQoIlNhbXBsZSBzaXplIG9mIEFFIERCLi4uLi4uOiIsIEFFX04sICJcbiIpCiAgICBjYXQoIlNhbXBsZSBzaXplIG9mIG1vZGVsLi4uLi4uOiIsIHNhbXBsZV9zaXplLCAiXG4iKQogICAgY2F0KCJNaXNzaW5nIGRhdGEgJS4uLi4uLi4uLi4uLjoiLCByb3VuZChQZXJjX01pc3MsIDYpLCAiXG4iKQogICAgfSBlbHNlIHsKICAgICAgY2F0KCJDb2xsZWN0aW5nIGRhdGEgaW4gc3VtbWFyeSBvYmplY3QuXG4iKQogICAgfQogIH0KICByZXR1cm4ob3V0cHV0KQogIHByaW50KG91dHB1dCkKfQoKR0xNLkJJTiA8LSBmdW5jdGlvbihmaXQsIERBVEFTRVQsIHhfbmFtZSwgeSwgdmVyYm9zZT1jKFRSVUUsRkFMU0UpKXsKICBjYXQoIkFuYWx5emluZyBpbiBkYXRhc2V0ICciLCBEQVRBU0VUICwiJyB0aGUgYXNzb2NpYXRpb24gb2YgJyIsIHhfbmFtZSAsIicgd2l0aCAnIiwgeSAsIicgLi4uXG4iKQogIGlmIChucm93KHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHMpID09IDEpIHsKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCByZXAoTkEsOSkpCiAgICBjYXQoIk1vZGVsIG5vdCBmaXR0ZWQ7IHByb2JhYmx5IHNpbmd1bGFyLlxuIikKICB9ZWxzZSB7CiAgICBjYXQoIkNvbGxlY3RpbmcgZGF0YS4uLlxuIikKICAgIGVmZmVjdHNpemUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0KICAgIFNFID0gc3VtbWFyeShmaXQpJGNvZWZmaWNpZW50c1syLDJdCiAgICBPUmVmZmVjdCA9IGV4cChzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0pCiAgICBDSV9sb3cgPSBleHAoZWZmZWN0c2l6ZSAtIDEuOTYgKiBTRSkKICAgIENJX3VwID0gZXhwKGVmZmVjdHNpemUgKyAxLjk2ICogU0UpCiAgICB6dmFsdWUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsM10KICAgIHB2YWx1ZSA9IHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHNbMiw0XQogICAgZGV2IDwtIGZpdCRkZXZpYW5jZQogICAgbnVsbERldiA8LSBmaXQkbnVsbC5kZXZpYW5jZQogICAgbW9kZWxOIDwtIGxlbmd0aChmaXQkZml0dGVkLnZhbHVlcykKICAgIFIubCA8LSAxIC0gZGV2IC8gbnVsbERldgogICAgUi5jcyA8LSAxIC0gZXhwKC0obnVsbERldiAtIGRldikgLyBtb2RlbE4pCiAgICBSLm4gPC0gUi5jcyAvICgxIC0gKGV4cCgtbnVsbERldi9tb2RlbE4pKSkKICAgIHNhbXBsZV9zaXplID0gbnJvdyhtb2RlbC5mcmFtZShmaXQpKQogICAgQUVfTiA9IEFFREIuQ0VBLnNhbXBsZXNpemUKICAgIFBlcmNfTWlzcyA9IDEwMCAtICgoc2FtcGxlX3NpemUgKiAxMDApL0FFX04pCiAgICAKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCBlZmZlY3RzaXplLCBTRSwgT1JlZmZlY3QsIENJX2xvdywgQ0lfdXAsIHp2YWx1ZSwgcHZhbHVlLCBSLmwsIFIuY3MsIFIubiwgQUVfTiwgc2FtcGxlX3NpemUsIFBlcmNfTWlzcykKICAgIGlmICh2ZXJib3NlID09IFRSVUUpIHsKICAgIGNhdCgiV2UgaGF2ZSBjb2xsZWN0ZWQgdGhlIGZvbGxvd2luZyBhbmQgc3VtbWFyaXplIGl0IGluIGFuIG9iamVjdDpcbiIpCiAgICBjYXQoIkRhdGFzZXQuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIERBVEFTRVQsICJcbiIpCiAgICBjYXQoIlNjb3JlL0V4cG9zdXJlL2Jpb21hcmtlci4uOiIsIHhfbmFtZSwgIlxuIikKICAgIGNhdCgiVHJhaXQvb3V0Y29tZS4uLi4uLi4uLi4uLi46IiwgeSwgIlxuIikKICAgIGNhdCgiRWZmZWN0IHNpemUuLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQoZWZmZWN0c2l6ZSwgNiksICJcbiIpCiAgICBjYXQoIlN0YW5kYXJkIGVycm9yLi4uLi4uLi4uLi4uOiIsIHJvdW5kKFNFLCA2KSwgIlxuIikKICAgIGNhdCgiT2RkcyByYXRpbyAoZWZmZWN0IHNpemUpLi46Iiwgcm91bmQoT1JlZmZlY3QsIDMpLCAiXG4iKQogICAgY2F0KCJMb3dlciA5NSUgQ0kuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChDSV9sb3csIDMpLCAiXG4iKQogICAgY2F0KCJVcHBlciA5NSUgQ0kuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChDSV91cCwgMyksICJcbiIpCiAgICBjYXQoIlotdmFsdWUuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKHp2YWx1ZSwgNiksICJcbiIpCiAgICBjYXQoIlAtdmFsdWUuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHNpZ25pZihwdmFsdWUsIDgpLCAiXG4iKQogICAgY2F0KCJIb3NtZXIgYW5kIExlbWVzaG93IHJeMi4uLjoiLCByb3VuZChSLmwsIDYpLCAiXG4iKQogICAgY2F0KCJDb3ggYW5kIFNuZWxsIHJeMi4uLi4uLi4uLjoiLCByb3VuZChSLmNzLCA2KSwgIlxuIikKICAgIGNhdCgiTmFnZWxrZXJrZSdzIHBzZXVkbyByXjIuLi46Iiwgcm91bmQoUi5uLCA2KSwgIlxuIikKICAgIGNhdCgiU2FtcGxlIHNpemUgb2YgQUUgREIuLi4uLi46IiwgQUVfTiwgIlxuIikKICAgIGNhdCgiU2FtcGxlIHNpemUgb2YgbW9kZWwuLi4uLi46Iiwgc2FtcGxlX3NpemUsICJcbiIpCiAgICBjYXQoIk1pc3NpbmcgZGF0YSAlLi4uLi4uLi4uLi4uOiIsIHJvdW5kKFBlcmNfTWlzcywgNiksICJcbiIpCiAgICB9IGVsc2UgewogICAgICBjYXQoIkNvbGxlY3RpbmcgZGF0YSBpbiBzdW1tYXJ5IG9iamVjdC5cbiIpCiAgICB9CiAgfQogIHJldHVybihvdXRwdXQpCiAgcHJpbnQob3V0cHV0KQp9CmBgYAoKCiMgQmFja2dyb3VuZAoKVXNpbmcgYSBNZW5kZWxpYW4gUmFuZG9taXphdGlvbiBhcHByb2FjaCwgd2UgcmVjZW50bHkgZXhhbWluZWQgYXNzb2NpYXRpb25zIGJldHdlZW4gdGhlIGNpcmN1bGF0aW5nIGxldmVscyBvZiA0MSBjeXRva2luZXMgYW5kIGdyb3d0aCBmYWN0b3JzIGFuZCB0aGUgcmlzayBvZiBzdHJva2UgaW4gdGhlIE1FR0FTVFJPS0UgR1dBUyBkYXRhc2V0ICg2NywwMDAgc3Ryb2tlIGNhc2VzIGFuZCA0NTAsMDAwIGNvbnRyb2xzKSBhbmQgZm91bmQgTW9ub2N5dGUgY2hlbW9hdHRyYWN0YW50IHByb3RlaW4tMSAoTUNQLTEpIGFzIHRoZSBjeXRva2luZSBzaG93aW5nIHRoZSBzdHJvbmdlc3QgYXNzb2NpYXRpb24gd2l0aCBzdHJva2UsIHBhcnRpY3VsYXJseSBsYXJnZSBhcnRlcnkgYW5kIGNhcmRpb2VtYm9saWMgc3Ryb2tlIChHZW9yZ2FraXMgZXQgYWwuLCAyMDE5YSkuIEdlbmV0aWNhbGx5IGVsZXZhdGVkIE1DUC0xIGxldmVscyB3ZXJlIGFsc28gYXNzb2NpYXRlZCB3aXRoIGEgaGlnaGVyIHJpc2sgb2YgY29yb25hcnkgYXJ0ZXJ5IGRpc2Vhc2UgYW5kIG15b2NhcmRpYWwgaW5mYXJjdGlvbiAoR2Vvcmdha2lzIGV0IGFsLiwgMjAxOWEpLiBGdXJ0aGVyLCBpbiBhIG1ldGEtYW5hbHlzaXMgb2YgNiBvYnNlcnZhdGlvbmFsIHBvcHVsYXRpb24tYmFzZWQgb2YgbG9uZ2l0dWRpbmFsIGNvaG9ydCBzdHVkaWVzIHdlIHJlY2VudGx5IHNob3dlZCB0aGF0IGJhc2VsaW5lIGxldmVscyBvZiBNQ1AtMSB3ZXJlIGFzc29jaWF0ZWQgd2l0aCBhIGhpZ2hlciByaXNrIG9mIGlzY2hlbWljIHN0cm9rZSBvdmVyIGZvbGxvdy11cCAoR2Vvcmdha2lzIGV0IGFsLiwgMjAxOWIpLgpXaGlsZSB0aGVzZSBkYXRhIHN1Z2dlc3QgYSBjZW50cmFsIHJvbGUgb2YgTUNQLTEgaW4gdGhlIHBhdGhvZ2VuZXNpcyBvZiBhdGhlcm9zY2xlcm9zaXMsIGl0IHJlbWFpbnMgdW5rbm93biBpZiBNQ1AtMSBsZXZlbHMgaW4gdGhlIGJsb29kIHJlYWxseSByZWZsZWN0IE1DUC0xIGFjdGl2aXR5LiBNQ1AtMSBpcyBleHByZXNzZWQgaW4gdGhlIGF0aGVyb3NjbGVyb3RpYyBwbGFxdWUgYW5kIGF0dHJhY3RzIG1vbm9jeXRlcyBpbiB0aGUgc3ViZW5kb3RoZWxpYWwgc3BhY2UgKE5lbGtlbiBldCBhbC4sIDE5OTE7IFBhcGFkb3BvdWxvdSBldCBhbC4sIDIwMDg7IFRha2V5YSBldCBhbC4sIDE5OTM7IFdpbGNveCBldCBhbC4sIDE5OTQpLiBUaHVzLCBNQ1AtMSBsZXZlbHMgaW4gdGhlIHBsYXF1ZSBtaWdodCBtb3JlIHN0cm9uZ2x5IHJlZmxlY3QgTUNQLTEgc2lnbmFsaW5nLiBIb3dldmVyLCBpdCByZW1haW5zIHVua25vd24gaWYgTUNQLTEgcGxhcXVlIGxldmVscyBhc3NvY2lhdGUgd2l0aCBwbGFxdWUgdnVsbmVyYWJpbGl0eSBvciByaXNrIG9mIGNhcmRpb3Zhc2N1bGFyIGV2ZW50cy4KCgojIyBPYmplY3RpdmVzCgpBZ2FpbnN0IHRoaXMgYmFja2dyb3VuZCB3ZSBub3cgYWltIHRvIG1ha2UgdXNlIG9mIHRoZSBkYXRhIGZyb20gQXRoZXJvLUV4cHJlc3MgQmlvYmFuayBTdHVkeSB0byBleHBsb3JlIHRoZSBhc3NvY2lhdGlvbnMgb2YgTUNQLTEgcHJvdGVpbiBsZXZlbHMgaW4gdGhlIGF0aGVyb3NjbGVyb3RpYyBwbGFxdWVzIGZyb20gcGF0aWVudHMgdW5kZXJnb2luZyBjYXJvdGlkIGVuZGFydGVyZWN0b215IHdpdGggcGhlbm90eXBlcyBvZiBwbGFxdWUgdnVsbmVyYWJpbGl0eSBhbmQgc2Vjb25kYXJ5IHZhc2N1bGFyIGV2ZW50cyBvdmVyIGEgZm9sbG93LXVwIG9mIHRocmVlIHllYXJzLgoKCiMjIE1ldGhvZHMKCipCbG9vZCoKCk9MSU5LLXBsYXRmb3JtIAoKLSBJTDY6IEludGVybGV1a2luIDYuIEVudHJleiBHZW5lOiAzNTY5LiBPTElOSywgcGxhc21hIDwhLS0gQmVuZGVyIE1lZFN5c3RlbXM7IGNhdC5uci46IEJNUzgxMEZGLiBSZWNhbGN1bGF0ZWQgRkFDUy4gW3BnL21MXSAtLT4KLSBNQ1AxOiBNb25vY3l0ZSBjaGVtb3RhY3RpYyBwcm90ZWluIDEsIE1DUC0xIChDaGVtb2tpbmUgKEMtQyBtb3RpZikgbGlnYW5kIDIsIENDTDIpLiBFbnRyZXogR2VuZTogNjM0Ny4gT0xJTkssIHBsYXNtYSA8IS0tIE1lYXN1cmVkIGF0IHRoZSBXS1ouIFJlY2FsY3VsYXRlZCBMdW1pbmV4LiBbcGcvbUxdIC0tPgoKPiBUSEVTRSBEQVRBIEFSRSBOT1QgQVZBSUxBQkxFIFlFVAoKKlBsYXF1ZSoKCkx1bWluZXgtcGxhdGZvcm0sIG1lYXN1cmVkIGJ5IEx1bWluZXgKCi0gTUNQMTogTW9ub2N5dGUgY2hlbW90YWN0aWMgcHJvdGVpbiAxIChhLmsuYS4gQ0NMMjsgRW50cmV6IEdlbmU6IDYzNDcpIGNvbmNlbnRyYXRpb24gaW4gcGxhcXVlIFtwZy91Z10uIE1lYXN1cmVkIGluIHR3byBleHBlcmltZW50cywgdmFyaWFibGVzIGBNQ1AxYCBhbmQgYE1DUDFfcGdfdWdfMjAxNWAuIFRoZSBsYXR0ZXIgd2FzIGNvcnJlY3RlZCBmb3IgcGxhcXVlIHRvdGFsIHByb3RlaW4gY29uY2VudHJhdGlvbi4KLSBJTDY6IEludGVybGV1a2luZyA2IChJTDY7IEVudHJleiBHZW5lOiAzNTY5KSBjb25jZW50cmF0aW9uIGluIHBsYXF1ZSBbcGcvdWddLgotIElMNlI6IEludGVybGV1a2luZyA2IHJlY2VwdG9yIChJTDZSOyBFbnRyZXogR2VuZTogMzU3MCkgY29uY2VudHJhdGlvbiBpbiBwbGFxdWUgW3BnL3VnXS4KCkZBQ1MgcGxhdGZvcm0KCi0gSUw2OiBJbnRlcmxldWtpbiA2LiBFbnRyZXogR2VuZTogMzU2OS4gQmVuZGVyIE1lZFN5c3RlbXM7IGNhdC5uci46IEJNUzgxMEZGLiBSZWNhbGN1bGF0ZWQgRkFDUy4gW3BnL21MXQoKCiMgTG9hZGluZyBkYXRhCgojIyBDbGluaWNhbCBkYXRhCgpMb2FkaW5nIEF0aGVyby1FeHByZXNzIGNsaW5pY2FsIGRhdGEuCmBgYHtyIExvYWRBRURCfQpyZXF1aXJlKGhhdmVuKQoKIyBBRURCIDwtIGhhdmVuOjpyZWFkX3NhdihwYXN0ZTAoQUVEQl9sb2MsICIvMjAxOS0zTkVXX0F0aGVyb0V4cHJlc3NEYXRhYmFzZV9TY2llbnRpZmljQUVfMDIwNzIwMTlfSUNfYWRkZWQuc2F2IikpCkFFREJyYXcgPC0gaGF2ZW46OnJlYWRfc2F2KHBhc3RlMChBRURCX2xvYywgIi8yMDIwXzFfTkVXX0F0aGVyb0V4cHJlc3NEYXRhYmFzZV9TY2llbnRpZmljQUVfMTYtMDMtMjAyMC5zYXYiKSkKCmhlYWQoQUVEQnJhdykKYGBgCgpMb2FkaW5nIEF0aGVyby1FeHByZXNzIHBsYXF1ZSBwcm90ZWluIG1lYXN1cmVtZW50cyBmcm9tIDIwMTUuCmBgYHtyIExvYWRBRVByb3RlaW5zfQpsaWJyYXJ5KG9wZW54bHN4KQpBRURCX1Byb3RlaW5fMjAxNSA8LSBvcGVueGxzeDo6cmVhZC54bHN4KHBhc3RlMChBRURCX2xvYywgIi9fQUVfUHJvdGVpbnMvQ3l0b2tpbmVzX2FuZF9jaGVtb2tpbmVzXzIwMTUvMjAyMDA2MjlfTVBDRjAxNS0wMDI0Lnhsc3giKSwgc2hlZXQgPSAiZm9yX1NQU1NfUiIpCgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJTYW1wbGVJRCJdIDwtICJTVFVEWV9OVU1CRVIiCgpoZWFkKEFFREJfUHJvdGVpbl8yMDE1KQoKYGBgCgpXZSB3aWxsIG1lcmdlIHRoZXNlIG1lYXN1cmVtZW50cyB0byB0aGUgQUVEQiBmb3IgY29tcGFyaW5nIHBnL3VnIHZzLiBwZy9tTCBtZWFzdXJlbWVudHMgb2YgTUNQMSAtIGFsc28gaW4gcmVsYXRpb24gdG8gcGxhcXVlIHBoZW5vdHlwZXMuIEluIGFkZGl0aW9uIHdlIGhhdmUgbW9yZSBpbmZvcm1hdGlvbiB0aGUgZXhwZXJpbWVudCBhbmQgY2FuIGNvcnJlY3QgZm9yIHRoaXMuCgpgYGB7ciBtZXJnZSBBRURCIGFuZCBQcm90ZWluc30KbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiSUw2X3BnX21sIl0gPC0gIklMNl9wZ19tbF8yMDE1IgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJJTDZSX3BnX21sIl0gPC0gIklMNlJfcGdfbWxfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiSUw4X3BnX21sIl0gPC0gIklMOF9wZ19tbF8yMDE1IgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJNQ1AxX3BnX21sIl0gPC0gIk1DUDFfcGdfbWxfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiUkFOVEVTX3BnX21sIl0gPC0gIlJBTlRFU19wZ19tbF8yMDE1IgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJQQUkxX3BnX21sIl0gPC0gIlBBSTFfcGdfbWxfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiTUNTRl9wZ19tbCJdIDwtICJNQ1NGX3BnX21sXzIwMTUiCm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIkFkaXBvbmVjdGluX25nX21sIl0gPC0gIkFkaXBvbmVjdGluX25nX21sXzIwMTUiCm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIlNlZ21lbnRfaXNvbGF0ZWRfVHJpcyJdIDwtICJTZWdtZW50X2lzb2xhdGVkX1RyaXNfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiVHJpc19wcm90ZWluX2NvbmNfdWdfbWwiXSA8LSAiVHJpc19wcm90ZWluX2NvbmNfdWdfbWxfMjAxNSIKCnRlbXAgPC0gc3Vic2V0KEFFREJfUHJvdGVpbl8yMDE1LCBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiSUw2X3BnX21sXzIwMTUiLCAiSUw2Ul9wZ19tbF8yMDE1IiwgIklMOF9wZ19tbF8yMDE1IiwgIk1DUDFfcGdfbWxfMjAxNSIsICJSQU5URVNfcGdfbWxfMjAxNSIsICJQQUkxX3BnX21sXzIwMTUiLCAiTUNTRl9wZ19tbF8yMDE1IiwgIkFkaXBvbmVjdGluX25nX21sXzIwMTUiLCAiU2VnbWVudF9pc29sYXRlZF9UcmlzXzIwMTUiLCAiVHJpc19wcm90ZWluX2NvbmNfdWdfbWxfMjAxNSIpKQoKQUVEQiA8LSBtZXJnZShBRURCcmF3LCB0ZW1wLCBieS54ID0gIlNUVURZX05VTUJFUiIsIGJ5LnkgPSAiU1RVRFlfTlVNQkVSIiwgc29ydCA9IEZBTFNFLAogICAgICAgICAgICAgIGFsbC54ID0gVFJVRSkKcm0odGVtcCkKCnRlbXAgPC0gc3Vic2V0KEFFREIsIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJNQ1AxIiwgIk1DUDFfcGdfdWdfMjAxNSIsICJNQ1AxX3BnX21sXzIwMTUiLCAiU2VnbWVudF9pc29sYXRlZF9UcmlzXzIwMTUiKSkKCmhlYWQodGVtcCkKICAgCmBgYAoKIyMjIyBFeGFtaW5lIEFFREIKCldlIGNhbiBleGFtaW5lIHRoZSBjb250ZW50cyBvZiB0aGUgQXRoZXJvLUV4cHJlc3MgQmlvYmFuayBkYXRhc2V0IHRvIGtub3cgd2hhdCBlYWNoIHZhcmlhYmxlIGlzIGNhbGxlZCwgd2hhdCBjbGFzcyAodHlwZSkgaXQgaGFzLCBhbmQgd2hhdCB0aGUgdmFyaWFibGUgZGVzY3JpcHRpb24gaXMuIAoKVGhlcmUgaXMgYW4gZXhjZWxsZW50IHBvc3Qgb24gdGhpczogaHR0cHM6Ly93d3cuci1ibG9nZ2Vycy5jb20vd29ya2luZy13aXRoLXNwc3MtbGFiZWxzLWluLXIvLiAKYGBge3IgQUVEQjogZGVzY3JpYmV9CkFFREIgJT4lIHNqUGxvdDo6dmlld19kZihzaG93LnR5cGUgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgc2hvdy5mcnEgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgc2hvdy5wcmMgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgc2hvdy5uYSA9IFRSVUUsIAogICAgICAgICAgICAgICAgICAgICAgICAgbWF4LmxlbiA9IFRSVUUsIAogICAgICAgICAgICAgICAgICAgICAgICAgd3JhcC5sYWJlbHMgPSAyMCwKICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmJvc2UgPSBGQUxTRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICB1c2Uudmlld2VyID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIiwgVG9kYXksICIuQUVEQi5kaWN0aW9uYXJ5Lmh0bWwiKSkgCmBgYAoKCiMjIEZpeGluZyBhbmQgY3JlYXRpbmcgdmFyaWFibGVzCgpXZSBuZWVkIHRvIGJlIHZlcnkgc3RyaWN0IGluIGRlZmluaW5nIF9zeW1wdG9tcy5fIFRoZXJlZm9yZSB3ZSB3aWxsIGZpeCBhIG5ldyB2YXJpYWJsZSB0aGF0IGdyb3VwcyBfc3ltcHRvbXNfIGF0IGluY2x1c2lvbi4KCkNvZGluZyBvZiBfc3ltcHRvbXNfIGlzIGFzIGZvbGxvd3M6CgotIG1pc3NpbmcJLTk5OQkKLSBBc3ltcHRvbWF0aWMJMAkKLSBUSUEJMQkKLSBtaW5vciBzdHJva2UJMgkKLSBNYWpvciBzdHJva2UJMwkKLSBBbWF1cm9zaXMgZnVnYXgJNAkKLSBGb3VyIHZlc3NlbCBkaXNlYXNlCTUJCi0gVmVydGVicm9iYXNpbGFyeSBUSUEJNwkKLSBSZXRpbmFsIGluZmFyY3Rpb24JOAkKLSBTeW1wdG9tYXRpYywgYnV0IGFzcGVjaWZpYyBzeW10b21zCTkKLSBDb250cmFsYXRlcmFsIHN5bXB0b21hdGljIG9jY2x1c2lvbgkxMAkKLSByZXRpbmFsIGluZmFyY3Rpb24JMTEJCi0gYXJtY2xhdWRpY2F0aW9uIGR1ZSB0byBvY2NsdXNpb24gc3ViY2xhdmlhbiBhcnRlcnksIENFQSBuZWVkZWQgZm9yIGJ5cGFzcwkxMgkKLSByZXRpbmFsIGluZmFyY3Rpb24gKyBUSUFzCTEzCQotIE9jdWxhciBpc2NoZW1pYyBzeW5kcm9tZQkxNAkKLSBpc2NoZW1pc2NoIGdsYXVjb29tCTE1CQotIHN1YmNsYXZpYW4gc3RlYWwgc3luZHJvbWUJMTYJCi0gVEdBCTE3CgpXZSB3aWxsIGdyb3VwIGFzIGZvbGxvd3MgaW4gYFN5bXB0b21zLjVHYDoKCjEuIEFzeW1wdG9tYXRpYyA+IDAKMi4gVElBID4gMSwgNywgMTMKMy4gU3Ryb2tlID4gMiwgMwo0LiBPY3VsYXIgPiA0LCAxNCwgMTUKNS4gUmV0aW5hbCBpbmZhcmN0aW9uID4gOCwgMTEKNi4gT3RoZXIgPiA1LCA5LCAxMCwgMTIsIDE2LCAxNwoKV2Ugd2lsbCBhbHNvIGdyb3VwIGFzIGZvbGxvd3MgaW4gYEFzeW1wdFN5bXB0YDoKCjEuIEFzeW1wdG9tYXRpYyA+IDAKMi4gVElBID4gMSwgNywgMTMgKyBTdHJva2UgPiAyLCAzIAozLiBPY3VsYXIgPiA0LCAxNCwgMTUgKyBSZXRpbmFsIGluZmFyY3Rpb24gPiA4LCAxMSArIE90aGVyID4gNSwgOSwgMTAsIDEyLCAxNiwgMTcKCldlIHdpbGwgYWxzbyBncm91cCBhcyBmb2xsb3dzIGluIGBBc3ltcHRTeW1wdDJHYDoKCjEuIEFzeW1wdG9tYXRpYyA+IDAKMi4gVElBID4gMSwgNywgMTMgKyBTdHJva2UgPiAyLCAzIE9jdWxhciA+IDQsIDE0LCAxNSArIFJldGluYWwgaW5mYXJjdGlvbiA+IDgsIDExICsgT3RoZXIgPiA1LCA5LCAxMCwgMTIsIDE2LCAxNwoKCmBgYHtyIEZpeFN5bXB0b21zLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQojIEZpeCBzeW1wdG9tcwoKYXR0YWNoKEFFREIpCgpBRURCJHN5bXB0W2lzLm5hKEFFREIkc3ltcHQpXSA8LSAtOTk5CgojIFN5bXB0b21zLjVHCkFFREJbLCJTeW1wdG9tcy41RyJdIDwtIE5BCiMgQUVEQiRTeW1wdG9tcy41R1tzeW1wdCA9PSAiTkEiXSA8LSAiQXN5bXB0b21hdGljIgpBRURCJFN5bXB0b21zLjVHW3N5bXB0ID09IC05OTldIDwtIE5BCkFFREIkU3ltcHRvbXMuNUdbc3ltcHQgPT0gMF0gPC0gIkFzeW1wdG9tYXRpYyIKQUVEQiRTeW1wdG9tcy41R1tzeW1wdCA9PSAxIHwgc3ltcHQgPT0gNyB8IHN5bXB0ID09IDEzXSA8LSAiVElBIgpBRURCJFN5bXB0b21zLjVHW3N5bXB0ID09IDIgfCBzeW1wdCA9PSAzXSA8LSAiU3Ryb2tlIgpBRURCJFN5bXB0b21zLjVHW3N5bXB0ID09IDQgfCBzeW1wdCA9PSAxNCB8IHN5bXB0ID09IDE1IF0gPC0gIk9jdWxhciIKQUVEQiRTeW1wdG9tcy41R1tzeW1wdCA9PSA4IHwgc3ltcHQgPT0gMTFdIDwtICJSZXRpbmFsIGluZmFyY3Rpb24iCkFFREIkU3ltcHRvbXMuNUdbc3ltcHQgPT0gNSB8IHN5bXB0ID09IDkgfCBzeW1wdCA9PSAxMCB8IHN5bXB0ID09IDEyIHwgc3ltcHQgPT0gMTYgfCBzeW1wdCA9PSAxN10gPC0gIk90aGVyIgoKIyBBc3ltcHRTeW1wdApBRURCWywiQXN5bXB0U3ltcHQiXSA8LSBOQQpBRURCJEFzeW1wdFN5bXB0W3N5bXB0ID09IC05OTldIDwtIE5BCkFFREIkQXN5bXB0U3ltcHRbc3ltcHQgPT0gMF0gPC0gIkFzeW1wdG9tYXRpYyIKQUVEQiRBc3ltcHRTeW1wdFtzeW1wdCA9PSAxIHwgc3ltcHQgPT0gNyB8IHN5bXB0ID09IDEzIHwgc3ltcHQgPT0gMiB8IHN5bXB0ID09IDNdIDwtICJTeW1wdG9tYXRpYyIKQUVEQiRBc3ltcHRTeW1wdFtzeW1wdCA9PSA0IHwgc3ltcHQgPT0gMTQgfCBzeW1wdCA9PSAxNSB8IHN5bXB0ID09IDggfCBzeW1wdCA9PSAxMSB8IHN5bXB0ID09IDUgfCBzeW1wdCA9PSA5IHwgc3ltcHQgPT0gMTAgfCBzeW1wdCA9PSAxMiB8IHN5bXB0ID09IDE2IHwgc3ltcHQgPT0gMTddIDwtICJPY3VsYXIgYW5kIG90aGVycyIKCiMgQXN5bXB0U3ltcHQKQUVEQlssIkFzeW1wdFN5bXB0MkciXSA8LSBOQQpBRURCJEFzeW1wdFN5bXB0Mkdbc3ltcHQgPT0gLTk5OV0gPC0gTkEKQUVEQiRBc3ltcHRTeW1wdDJHW3N5bXB0ID09IDBdIDwtICJBc3ltcHRvbWF0aWMiCkFFREIkQXN5bXB0U3ltcHQyR1tzeW1wdCA9PSAxIHwgc3ltcHQgPT0gNyB8IHN5bXB0ID09IDEzIHwgc3ltcHQgPT0gMiB8IHN5bXB0ID09IDMgfCBzeW1wdCA9PSA0IHwgc3ltcHQgPT0gMTQgfCBzeW1wdCA9PSAxNSB8IHN5bXB0ID09IDggfCBzeW1wdCA9PSAxMSB8IHN5bXB0ID09IDUgfCBzeW1wdCA9PSA5IHwgc3ltcHQgPT0gMTAgfCBzeW1wdCA9PSAxMiB8IHN5bXB0ID09IDE2IHwgc3ltcHQgPT0gMTddIDwtICJTeW1wdG9tYXRpYyIKCmRldGFjaChBRURCKQoKIyB0YWJsZShBRURCJHN5bXB0LCB1c2VOQSA9ICJpZmFueSIpCiMgdGFibGUoQUVEQiRBc3ltcHRTeW1wdDJHLCB1c2VOQSA9ICJpZmFueSIpCiMgdGFibGUoQUVEQiRTeW1wdG9tcy41RywgdXNlTkEgPSAiaWZhbnkiKQojIAojIHRhYmxlKEFFREIkQXN5bXB0U3ltcHQyRywgQUVEQiRzeW1wdCwgdXNlTkEgPSAiaWZhbnkiKQojIHRhYmxlKEFFREIkU3ltcHRvbXMuNUcsIEFFREIkc3ltcHQsIHVzZU5BID0gImlmYW55IikKdGFibGUoQUVEQiRBc3ltcHRTeW1wdDJHLCBBRURCJFN5bXB0b21zLjVHLCB1c2VOQSA9ICJpZmFueSIpCgojIEFFREIudGVtcCA8LSBzdWJzZXQoQUVEQiwgIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJVUElEIiwgIkFnZSIsICJHZW5kZXIiLCAiSG9zcGl0YWwiLCAiQXJ0ZXJ5X3N1bW1hcnkiLCAic3ltcHQiLCAiU3ltcHRvbXMuNUciLCAiQXN5bXB0U3ltcHQiKSkKIyByZXF1aXJlKGxhYmVsbGVkKQojIEFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCiMgQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCiMgQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCiMgCiMgRFQ6OmRhdGF0YWJsZShBRURCLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuIiwgcm93bmFtZXMgPSBGQUxTRSkKIyAKIyB0YWJsZShBRURCLnRlbXAkU3ltcHRvbXMuNUcsIEFFREIudGVtcCRBc3ltcHRTeW1wdCkKIyAKIyBybShBRURCLnRlbXApCgpgYGAKCldlIHdpbGwgYWxzbyBmaXggdGhlIF9wbGFxdWVwaGVub3R5cGVzXyB2YXJpYWJsZS4gIAoKQ29kaW5nIG9mIHN5bXB0b21zIGlzIGFzIGZvbGxvd3M6CgotIG1pc3NpbmcJLTk5OQkKLSBub3QgcmVsZXZhbnQgLTg4OAotIGZpYnJvdXMJMQkKLSBmaWJyb2F0aGVyb21hdG91cwkyCQotIGF0aGVyb21hdG91cwkzCQoKCmBgYHtyIEZpeFBsYXF1ZVBoZW5vdHlwZXMsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CgojIEZpeCBwbGFxdWVwaGVub3R5cGVzCmF0dGFjaChBRURCKQpBRURCWywiT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSJdIDwtIE5BCkFFREIkT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZVtwbGFxdWVwaGVub3R5cGUgPT0gLTk5OV0gPC0gTkEKQUVEQiRPdmVyYWxsUGxhcXVlUGhlbm90eXBlW3BsYXF1ZXBoZW5vdHlwZSA9PSAtOTk5XSA8LSBOQQpBRURCJE92ZXJhbGxQbGFxdWVQaGVub3R5cGVbcGxhcXVlcGhlbm90eXBlID09IDFdIDwtICJmaWJyb3VzIgpBRURCJE92ZXJhbGxQbGFxdWVQaGVub3R5cGVbcGxhcXVlcGhlbm90eXBlID09IDJdIDwtICJmaWJyb2F0aGVyb21hdG91cyIKQUVEQiRPdmVyYWxsUGxhcXVlUGhlbm90eXBlW3BsYXF1ZXBoZW5vdHlwZSA9PSAzXSA8LSAiYXRoZXJvbWF0b3VzIgpkZXRhY2goQUVEQikKCnRhYmxlKEFFREIkT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSkKCiMgQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsICJwbGFxdWVwaGVub3R5cGUiLCAiT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSIpKQojIHJlcXVpcmUobGFiZWxsZWQpCiMgQUVEQi50ZW1wJEdlbmRlciA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEdlbmRlcikKIyBBRURCLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRIb3NwaXRhbCkKIyBBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSkKIyAKIyBEVDo6ZGF0YXRhYmxlKEFFREIudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi4iLCByb3duYW1lcyA9IEZBTFNFKQojIAojIHJtKEFFREIudGVtcCkKCmBgYAoKV2Ugd2lsbCBhbHNvIGZpeCB0aGUgX2RpYWJldGVzXyBzdGF0dXMgdmFyaWFibGUuIFdlIGRlZmluZSBkaWFiZXRlcyBhcyBoaXN0b3J5IG9mIGEgZGlhZ25vc2lzIGFuZC9vciB1c2Ugb2YgZ2x1Y29zZS1sb3dlcmluZyBtZWRpY2F0aW9ucy4KCmBgYHtyIEZpeERpYWJldGVzLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQojIEZpeCBkaWFiZXRlcwphdHRhY2goQUVEQikKQUVEQlssIkRpYWJldGVzU3RhdHVzIl0gPC0gTkEKQUVEQiREaWFiZXRlc1N0YXR1c1tETS5jb21wb3NpdGUgPT0gLTk5OV0gPC0gTkEKQUVEQiREaWFiZXRlc1N0YXR1c1tETS5jb21wb3NpdGUgPT0gMF0gPC0gIkNvbnRyb2wgKG5vIERpYWJldGVzIER4L01lZCkiCkFFREIkRGlhYmV0ZXNTdGF0dXNbRE0uY29tcG9zaXRlID09IDFdIDwtICJEaWFiZXRlcyIKZGV0YWNoKEFFREIpCgp0YWJsZShBRURCJERNLmNvbXBvc2l0ZSkKCnRhYmxlKEFFREIkRGlhYmV0ZXNTdGF0dXMpCgoKIyBBRURCLnRlbXAgPC0gc3Vic2V0KEFFREIsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgIkRNLmNvbXBvc2l0ZSIsICJEaWFiZXRlc1N0YXR1cyIpKQojIHJlcXVpcmUobGFiZWxsZWQpCiMgQUVEQi50ZW1wJEdlbmRlciA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEdlbmRlcikKIyBBRURCLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRIb3NwaXRhbCkKIyBBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSkKIyBBRURCLnRlbXAkRGlhYmV0ZXNTdGF0dXMgPC0gdG9fZmFjdG9yKEFFREIudGVtcCREaWFiZXRlc1N0YXR1cykKIyAKIyBEVDo6ZGF0YXRhYmxlKEFFREIudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi4iLCByb3duYW1lcyA9IEZBTFNFKQojIAojIHJtKEFFREIudGVtcCkKCmBgYAoKCldlIHdpbGwgYWxzbyBmaXggdGhlIF9zbW9raW5nXyBzdGF0dXMgdmFyaWFibGUuIFdlIGFyZSBpbnRlcmVzdGVkIGluIHdoZXRoZXIgc29tZW9uZSBuZXZlciwgZXZlciBvciBpcyBjdXJyZW50bHkgKGF0IHRoZSB0aW1lIG9mIGluY2x1c2lvbikgc21va2luZy4gVGhpcyBpcyBiYXNlZCBvbiB0aGUgcXVlc3Rpb25uYWlyZS4gCgotIGBkaWV0ODAxYDogYXJlIHlvdSBhIHNtb2tlcj8KLSBgZGlldDgwMmA6IGRpZCB5b3Ugc21va2UgaW4gdGhlIHBhc3Q/CgpXZSBhbHJlYWR5IGhhdmUgc29tZSB2YXJpYWJsZXMgaW5kaWNhdGluZyBzbW9raW5nIHN0YXR1czoKCi0gYFNtb2tpbmdSZXBvcnRlZGA6IHBhdGllbnQgaGFzIHJlcG9ydGVkIHRvIHNtb2tlLgotIGBTbW9raW5nWWVhck9SYDogc21va2luZyBpbiB0aGUgeWVhciBvZiBzdXJnZXJ5PwotIGBTbW9rZXJDdXJyZW50YDogY3VycmVudGx5IHNtb2tpbmc/CgoKCmBgYHtyIEZpeFNtb2tpbmcsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CnJlcXVpcmUobGFiZWxsZWQpCkFFREIkZGlldDgwMSA8LSB0b19mYWN0b3IoQUVEQiRkaWV0ODAxKQpBRURCJGRpZXQ4MDIgPC0gdG9fZmFjdG9yKEFFREIkZGlldDgwMikKQUVEQiRkaWV0ODA1IDwtIHRvX2ZhY3RvcihBRURCJGRpZXQ4MDUpCkFFREIkU21va2luZ1JlcG9ydGVkIDwtIHRvX2ZhY3RvcihBRURCJFNtb2tpbmdSZXBvcnRlZCkKQUVEQiRTbW9rZXJDdXJyZW50IDwtIHRvX2ZhY3RvcihBRURCJFNtb2tlckN1cnJlbnQpCkFFREIkU21va2luZ1llYXJPUiA8LSB0b19mYWN0b3IoQUVEQiRTbW9raW5nWWVhck9SKQoKIyB0YWJsZShBRURCJGRpZXQ4MDEpCiMgdGFibGUoQUVEQiRkaWV0ODAyKQojIHRhYmxlKEFFREIkU21va2luZ1JlcG9ydGVkKQojIHRhYmxlKEFFREIkU21va2VyQ3VycmVudCkKIyB0YWJsZShBRURCJFNtb2tpbmdZZWFyT1IpCiMgdGFibGUoQUVEQiRTbW9raW5nUmVwb3J0ZWQsIEFFREIkU21va2VyQ3VycmVudCwgdXNlTkEgPSAiaWZhbnkiLCBkbm4gPSBjKCJSZXBvcnRlZCBzbW9raW5nIiwgIkN1cnJlbnQgc21va2VyIikpCiMgCiMgdGFibGUoQUVEQiRkaWV0ODAxLCBBRURCJGRpZXQ4MDIsIHVzZU5BID0gImlmYW55IiwgZG5uID0gYygiU21va2VyIiwgIlBhc3Qgc21va2VyIikpCgpjYXQoIlxuRml4aW5nIHNtb2tpbmcgc3RhdHVzLlxuIikKYXR0YWNoKEFFREIpCkFFREJbLCJTbW9rZXJTdGF0dXMiXSA8LSBOQQpBRURCJFNtb2tlclN0YXR1c1tkaWV0ODAyID09ICJkb24ndCBrbm93Il0gPC0gIk5ldmVyIHNtb2tlZCIKQUVEQiRTbW9rZXJTdGF0dXNbZGlldDgwMiA9PSAiSSBzdGlsbCBzbW9rZSJdIDwtICJDdXJyZW50IHNtb2tlciIKQUVEQiRTbW9rZXJTdGF0dXNbU21va2VyQ3VycmVudCA9PSAibm8iICYgZGlldDgwMiA9PSAibm8iXSA8LSAiTmV2ZXIgc21va2VkIgpBRURCJFNtb2tlclN0YXR1c1tTbW9rZXJDdXJyZW50ID09ICJubyIgJiBkaWV0ODAyID09ICJ5ZXMiXSA8LSAiRXgtc21va2VyIgpBRURCJFNtb2tlclN0YXR1c1tTbW9rZXJDdXJyZW50ID09ICJ5ZXMiXSA8LSAiQ3VycmVudCBzbW9rZXIiCkFFREIkU21va2VyU3RhdHVzW1Ntb2tlckN1cnJlbnQgPT0gIm5vIGRhdGEgYXZhaWxhYmxlL21pc3NpbmciXSA8LSBOQQojIEFFREIkU21va2VyU3RhdHVzW2lzLm5hKFNtb2tlckN1cnJlbnQpXSA8LSAiTmV2ZXIgc21va2VkIgpkZXRhY2goQUVEQikKCmNhdCgiXG4qIEN1cnJlbnQgc21va2luZyBzdGF0dXMuXG4iKQp0YWJsZShBRURCJFNtb2tlckN1cnJlbnQsCiAgICAgIHVzZU5BID0gImlmYW55IiwgCiAgICAgIGRubiA9IGMoIkN1cnJlbnQgc21va2VyIikpCgpjYXQoIlxuKiBVcGRhdGVkIHNtb2tpbmcgc3RhdHVzLlxuIikKdGFibGUoQUVEQiRTbW9rZXJTdGF0dXMsCiAgICAgIHVzZU5BID0gImlmYW55IiwgCiAgICAgIGRubiA9IGMoIlVwZGF0ZWQgc21va2luZyBzdGF0dXMiKSkKCmNhdCgiXG4qIENvbXBhcmluZyB0byAnU21va2VyQ3VycmVudCcuXG4iKQp0YWJsZShBRURCJFNtb2tlclN0YXR1cywgQUVEQiRTbW9rZXJDdXJyZW50LCAKICAgICAgdXNlTkEgPSAiaWZhbnkiLCAKICAgICAgZG5uID0gYygiVXBkYXRlZCBzbW9raW5nIHN0YXR1cyIsICJDdXJyZW50IHNtb2tlciIpKQoKIyBBRURCLnRlbXAgPC0gc3Vic2V0KEFFREIsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgIkRNLmNvbXBvc2l0ZSIsICJEaWFiZXRlc1N0YXR1cyIpKQojIHJlcXVpcmUobGFiZWxsZWQpCiMgQUVEQi50ZW1wJEdlbmRlciA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEdlbmRlcikKIyBBRURCLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRIb3NwaXRhbCkKIyBBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSkKIyBBRURCLnRlbXAkRGlhYmV0ZXNTdGF0dXMgPC0gdG9fZmFjdG9yKEFFREIudGVtcCREaWFiZXRlc1N0YXR1cykKIyAKIyBEVDo6ZGF0YXRhYmxlKEFFREIudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi4iLCByb3duYW1lcyA9IEZBTFNFKQojIAojIHJtKEFFREIudGVtcCkKCgpgYGAKCldlIHdpbGwgYWxzbyBmaXggdGhlIF9hbGNvaG9sXyBzdGF0dXMgdmFyaWFibGUuCgpgYGB7ciBGaXhBbGNvaG9sLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQoKIyBGaXggZGlhYmV0ZXMKYXR0YWNoKEFFREIpCkFFREJbLCJBbGNvaG9sVXNlIl0gPC0gTkEKQUVEQiRBbGNvaG9sVXNlW2RpZXQ4MTAgPT0gLTk5OV0gPC0gTkEKQUVEQiRBbGNvaG9sVXNlW2RpZXQ4MTAgPT0gMF0gPC0gIk5vIgpBRURCJEFsY29ob2xVc2VbZGlldDgxMCA9PSAxXSA8LSAiWWVzIgpkZXRhY2goQUVEQikKCnRhYmxlKEFFREIkQWxjb2hvbFVzZSkKCiMgQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsICJkaWV0ODEwIiwgIkFsY29ob2xVc2UiKSkKIyByZXF1aXJlKGxhYmVsbGVkKQojIEFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCiMgQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCiMgQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCiMgQUVEQi50ZW1wJEFsY29ob2xVc2UgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBbGNvaG9sVXNlKQojIAojIERUOjpkYXRhdGFibGUoQUVEQi50ZW1wWzE6MTAsXSwgY2FwdGlvbiA9ICJFeGNlcnB0IG9mIHRoZSB3aG9sZSBBRURCLiIsIHJvd25hbWVzID0gRkFMU0UpCiMgCiMgcm0oQUVEQi50ZW1wKQoKCmBgYAoKV2Ugd2lsbCBhbHNvIGZpeCBhIGhpc3Rvcnkgb2YgQ0FELCBzdHJva2Ugb3IgcGVyaXBoZXJhbCBpbnRlcnZlbnRpb24gc3RhdHVzIHZhcmlhYmxlLiBUaGlzIHdpbGwgYmUgYmFzZWQgb24gYENBRF9oaXN0b3J5YCwgYFN0cm9rZV9oaXN0b3J5YCwgYW5kIGBQZXJpcGhlcmFsLmludGVydmAKCmBgYHtyIEZpeENBRF9IaXN0b3J5LCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQoKIyBGaXggZGlhYmV0ZXMKYXR0YWNoKEFFREIpCkFFREJbLCJNZWRIeF9DVkQiXSA8LSBOQQpBRURCJE1lZEh4X0NWRFtDQURfaGlzdG9yeSA9PSAwIHwgU3Ryb2tlX2hpc3RvcnkgPT0gMCB8IFBlcmlwaGVyYWwuaW50ZXJ2ID09IDBdIDwtICJObyIKQUVEQiRNZWRIeF9DVkRbQ0FEX2hpc3RvcnkgPT0gMSB8IFN0cm9rZV9oaXN0b3J5ID09IDEgfCBQZXJpcGhlcmFsLmludGVydiA9PSAxXSA8LSAieWVzIgpkZXRhY2goQUVEQikKCnRhYmxlKEFFREIkQ0FEX2hpc3RvcnkpCnRhYmxlKEFFREIkU3Ryb2tlX2hpc3RvcnkpCnRhYmxlKEFFREIkUGVyaXBoZXJhbC5pbnRlcnYpCnRhYmxlKEFFREIkTWVkSHhfQ1ZEKQoKIyBBRURCLnRlbXAgPC0gc3Vic2V0KEFFREIsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgImRpZXQ4MTAiLCAiQWxjb2hvbFVzZSIpKQojIHJlcXVpcmUobGFiZWxsZWQpCiMgQUVEQi50ZW1wJEdlbmRlciA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEdlbmRlcikKIyBBRURCLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRIb3NwaXRhbCkKIyBBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSkKIyBBRURCLnRlbXAkQWxjb2hvbFVzZSA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEFsY29ob2xVc2UpCiMgCiMgRFQ6OmRhdGF0YWJsZShBRURCLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuIiwgcm93bmFtZXMgPSBGQUxTRSkKIyAKIyBybShBRURCLnRlbXApCgoKYGBgCgoKCgojIEF0aGVyby1FeHByZXNzIEJpb2JhbmsgU3R1ZHkKCiMjIEJhc2VsaW5lIGNoYXJhY3RlcmlzdGljcwoKV2UgYXJlIGludGVyZXN0ZWQgaW4gdGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXQgYmFzZWxpbmUuCgotIEFnZSAoeWVhcnMpCi0gRmVtYWxlIHNleCAoTiwgJSkKLSBIeXBlcnRlbnNpb24gKE4sICUpCi0gU0JQIChtbUhnKQotIERCUCAobW1IZykKLSBEaWFiZXRlcyBtZWxsaXR1cyAoTiwgJSkKLSBUb3RhbCBjaG9sZXN0ZXJvbCBsZXZlbHMgKG1nL2RMKQotIExETCBjaG9sZXN0ZXJvbCBsZXZlbHMgKG1nL2RMKQotIEhETCBjaG9sZXN0ZXJvbCBsZXZlbHMgKG1nL2RMKQotIFRyaWdseWNlcmlkZSBsZXZlbHMgKG1nL2RMKQotIFVzZSBvZiBzdGF0aW5zIChOLCAlKQotIFVzZSBvZiBhbnRpcGxhdGVsZXQgZHJ1Z3MgKE4sICUpCi0gQk1JIChrZy9twrIpCi0gU21va2luZyBzdGF0dXMgKE4sICUpCiAgLSBOZXZlciBzbW9rZXJzCiAgLSBFeC1zbW9rZXJzCiAgLSBDdXJyZW50IHNtb2tlcnMKLSBIaXN0b3J5IG9mIENBRCAoTiwgJSkKLSBIaXN0b3J5IG9mIFBBRCAoTiwgJSkKLSBDbGluaWNhbCBtYW5pZmVzdGF0aW9ucwogIC0gQXN5bXB0b21hdGljCiAgLSBBbWF1cm9zaXMgZnVnYXgKICAtIFRJQQogIC0gU3Ryb2tlCi0gZUdGUiAobUwvbWluLzEuNzMgbcKyKQotIE1DUC0xIHBsYXF1ZSBsZXZlbHMgKHBnL21MKSAoTFVNSU5FWCBiYXNlZCwgdHdvIGV4cGVyaW1lbnRzIGBNQ1AxYCwgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgKQoKPiBOT1QgQVZBSUxBQkxFIFlFVAotIE1DUC0xIHBsYXNtYSBsZXZlbHMgKHBnL21MKSAoT0xJTksgYmFzZWQpIAoKCmBgYHtyIEJhc2VsaW5lIEFFREI6IGNyZWF0aW9uLCBpbmNsdWRlID0gRkFMU0V9CmNhdCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIikKY2F0KCJTRUxFQ1RJT04gVEhFIFNISVpaTEVcbiIpCgojIyMgQXJ0ZXJ5IGxldmVscwojIEFFZGF0YSRBcnRlcnlfc3VtbWFyeTogCiMgICAgICAgICAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbAojIE5PVCBVU0UgLSAwIE5vIGFydGVyeSBrbm93biAoeWV0KSwgbm8gc3VyZ2VyeSAocGF0aWVudCBpbGwsIGRpZWQsIGV4aXRlZCBzdHVkeSksIHJlLW51bWJlcmVkIHRvIEFBQQojIFVTRSAtIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJvdGlkIChsZWZ0ICYgcmlnaHQpCiMgVVNFIC0gMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVtb3JhbC9pbGlhYyAobGVmdCwgcmlnaHQgb3IgYm90aCBzaWRlcykKIyBOT1QgVVNFIC0gMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIgY2Fyb3RpZCBhcnRlcmllcyAoY29tbW9uLCBleHRlcm5hbCkKIyBOT1QgVVNFIC0gNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fyb3RpZCBieXBhc3MgYW5kIGluanVyeSAobGVmdCwgcmlnaHQgb3IgYm90aCBzaWRlcykKIyBOT1QgVVNFIC0gNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZXVyeXNtYXRhIChjYXJvdGlkICYgZmVtb3JhbCkKIyBOT1QgVVNFIC0gNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW9ydGEKIyBOT1QgVVNFIC0gNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIgYXJ0ZXJpZXMgKHJlbmFsLCBwb3BsaXRlYWwsIHZlcnRlYnJhbCkKIyBOT1QgVVNFIC0gOCAgICAgICAgICAgICAgICAgICAgICAgIGZlbW9yYWwgYnlwYXNzLCBhbmdpb3NlYWwgYW5kIGluanVyeSAobGVmdCwgcmlnaHQgb3IgYm90aCBzaWRlcykKCiMjIyBBRWRhdGEkaW5mb3JtZWRjb25zZW50CiMgICAgICAgICAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsCiMgTk9UIFVTRSAtIC05OTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pc3NpbmcKIyBOT1QgVVNFIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubywgZGllZAojIFVTRSAtIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMKIyBVU0UgLSAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlCiMgVVNFIC0gMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gaGVhbHRoIHRyZWF0bWVudAojIFVTRSAtIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MKIyBOT1QgVVNFIC0gNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgbm8gY29tbWVyaWNhbCBidXNpbmVzcwojIE5PVCBVU0UgLSA2ICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gdGlzc3VlLCBubyBxdWVzdGlvbm5haXJlcywgbm8gbWVkaWNhbCBpbmZvLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgVVNFIC0gNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyBxdWVzdGlvbm5haXJlcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIFVTRSAtIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHF1ZXN0aW9ubmFpcmVzLCBoZWFsdGggdHJlYXRtZW50IHdoZW4gcG9zc2libGUKIyBOT1QgVVNFIC0gOSAgICAgICAgICAgICAgICAgIHllcywgbm8gdGlzc3VlLCBubyBxdWVzdGlvbm5haXJlcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gY29tbWVyaWNhbCBidXNpbmVzcwojIFVTRSAtIDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gbWVkaWNhbCBpbmZvLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgTk9UIFVTRSAtIDExIHllcywgbm8gdGlzc3VlLCBubyBxdWVzdGlvbm5haXJlcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gbWVkaWNhbCBpbmZvLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgVVNFIC0gMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQKIyBOT1QgVVNFIC0gMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyB0aXNzdWUsIG5vIGhlYWx0aCB0cmVhdG1lbnQKIyBOT1QgVVNFIC0gMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMKIyBOT1QgVVNFIC0gMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gdGlzc3VlLCBoZWFsdGggdHJlYXRtZW50IHdoZW4gcG9zc2libGUKIyBOT1QgVVNFIC0gMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyB0aXNzdWUKIyBVU0UgLSAxNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gY29tbWVyaWNhbCBidXNpbmVzcwojIFVTRSAtIDE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgVVNFIC0gMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyBtZWRpY2FsIGluZm8sIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MKIyBVU0UgLSAyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyBxdWVzdGlvbm5haXJlcwojIE5PVCBVU0UgLSAyMSAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIG1lZGljYWwgaW5mbwojIE5PVCBVU0UgLSAyMiAgICAgICAgICAgICAgICAgIHllcywgbm8gdGlzc3VlLCBubyBxdWVzdGlvbm5haXJlcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIFVTRSAtIDIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gbWVkaWNhbCBpbmZvCiMgVVNFIC0gMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MKIyBVU0UgLSAyNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIG1lZGljYWwgaW5mbwojIFVTRSAtIDI2ICAgICAgICAgICAgICAgICAgeWVzLCBubyBxdWVzdGlvbm5haXJlcywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgVVNFIC0gMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsICBubyBoZWFsdGggdHJlYXRtZW50LCBubyBtZWRpY2FsIGluZm8KIyBOT1QgVVNFIC0gMjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vLCBkb2Vzbid0IHdhbnQgdG8KIyBOT1QgVVNFIC0gMjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubywgdW5hYmxlIHRvIHNpZ24KIyBOT1QgVVNFIC0gMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubywgbm8gcmVhY3Rpb24KIyBOT1QgVVNFIC0gMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8sIGxvc3QKIyBOT1QgVVNFIC0gMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8sIHRvbyBvbGQKIyBOT1QgVVNFIC0gMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gbWVkaWNhbCBpbmZvLCBoZWFsdGggdHJlYXRtZW50IHdoZW4gcG9zc2libGUKIyBOT1QgVVNFIC0gMzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubyAobmV2ZXIgYXNrZWQgZm9yIElDIGJlY2F1c2UgdGhlcmUgd2FzIG5vIHRpc3N1ZSkKIyBVU0UgLSAzNiAgICAgICAgICAgICAgICAgICAgeWVzLCBubyBtZWRpY2FsIGluZm8sIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MsIGhlYWx0aCB0cmVhdG1lbnQgd2hlbiBwb3NzaWJsZQojIE5PVCBVU0UgLSAzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vLCBlbmRwb2ludAojIFVTRSAtIDM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsIG5pZXRzIGludnVsbGVuLCB3ZWwgYWxsZXMgZ2VicnVpa2VuCiMgVVNFIC0gMzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kIGluZm9ybWVkIGNvbmNlbnRzOiB5ZXMsIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MKIyBOT1QgVVNFIC0gNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub29pdCBnZWluY2x1ZGVlcmQKCmNhdCgiLSBzYW5pdHkgY2hlY2tpbmcgUFJJT1IgdG8gc2VsZWN0aW9uIikKbGlicmFyeShkYXRhLnRhYmxlKQphZS5nZW5kZXIgPC0gaWZlbHNlKEFFREIkR2VuZGVyID09IDAsICJGZW1hbGUiLCAiTWFsZSIpCmFlLmhvc3BpdGFsIDwtIGlmZWxzZShBRURCJEhvc3BpdGFsID09IDEsICJBbnRvbml1cyIsICJVTUNVIikKdGFibGUoYWUuZ2VuZGVyLCBhZS5ob3NwaXRhbCwgZG5uID0gYygiU2V4IiwgIkhvc3BpdGFsIikpCmFlLmdlbmRlciA8LSBpZmVsc2UoQUVEQiRHZW5kZXIgPT0gMCwgIkZlbWFsZSIsICJNYWxlIikKdGFibGUoYWUuZ2VuZGVyLCBBRURCJEFydGVyeV9zdW1tYXJ5LCBkbm4gPSBjKCJTZXgiLCAiQXJ0ZXJ5IikpCiMgdGFibGUoYWUuZ2VuZGVyLCBBRURCJGluZm9ybWVkY29uc2VudCwgZG5uID0gYygiU2V4IiwgIklDIikpCgpybShhZS5nZW5kZXIsIGFlLmhvc3BpdGFsKQoKIyBJIGNoYW5nZSBudW1lcmljIGFuZCBmYWN0b3JzIG1hbnVhbGx5IGJlY2F1c2UsIHdlbGwsIEkgd291bGRuJ3Qga25vdyBob3cgdG8gZml4IGl0IG90aGVyd2lzZQojIHRvIGhhdmUgdGhpcyAndGliYmxlJyB3b3JrIHdpdGggJ3RhYmxlb25lJy4uLiA6LSkKCkFFREIkQWdlIDwtIGFzLm51bWVyaWMoQUVEQiRBZ2UpCkFFREIkZGlhc3RvbGkgPC0gYXMubnVtZXJpYyhBRURCJGRpYXN0b2xpKQpBRURCJHN5c3RvbGljIDwtIGFzLm51bWVyaWMoQUVEQiRzeXN0b2xpYykKCkFFREIkVENfZmluYWxDVSA8LSBhcy5udW1lcmljKEFFREIkVENfZmluYWxDVSkKQUVEQiRMRExfZmluYWxDVSA8LSBhcy5udW1lcmljKEFFREIkTERMX2ZpbmFsQ1UpCkFFREIkSERMX2ZpbmFsQ1UgPC0gYXMubnVtZXJpYyhBRURCJEhETF9maW5hbENVKQpBRURCJFRHX2ZpbmFsQ1UgPC0gYXMubnVtZXJpYyhBRURCJFRHX2ZpbmFsQ1UpCgpBRURCJFRDX2ZpbmFsIDwtIGFzLm51bWVyaWMoQUVEQiRUQ19maW5hbCkKQUVEQiRMRExfZmluYWwgPC0gYXMubnVtZXJpYyhBRURCJExETF9maW5hbCkKQUVEQiRIRExfZmluYWwgPC0gYXMubnVtZXJpYyhBRURCJEhETF9maW5hbCkKQUVEQiRUR19maW5hbCA8LSBhcy5udW1lcmljKEFFREIkVEdfZmluYWwpCgpBRURCJEFnZSA8LSBhcy5udW1lcmljKEFFREIkQWdlKQpBRURCJEdGUl9NRFJEIDwtIGFzLm51bWVyaWMoQUVEQiRHRlJfTURSRCkKQUVEQiRCTUkgPC0gYXMubnVtZXJpYyhBRURCJEJNSSkKQUVEQiRlQ2lnYXJldHRlcyA8LSBhcy5udW1lcmljKEFFREIkZUNpZ2FyZXR0ZXMpCkFFREIkZVBhY2tZZWFyc1Ntb2tpbmcgPC0gYXMubnVtZXJpYyhBRURCJGVQYWNrWWVhcnNTbW9raW5nKQpBRURCJEVQX2NvbXBvc2l0ZV90aW1lIDwtIGFzLm51bWVyaWMoQUVEQiRFUF9jb21wb3NpdGVfdGltZSkKCkFFREIkbWFjbWVhbjAgPC0gYXMubnVtZXJpYyhBRURCJG1hY21lYW4wKQpBRURCJHNtY21lYW4wIDwtIGFzLm51bWVyaWMoQUVEQiRzbWNtZWFuMCkKQUVEQiRuZXV0cm9waGlscyA8LSBhcy5udW1lcmljKEFFREIkbmV1dHJvcGhpbHMpCkFFREIkTWFzdF9jZWxsc19wbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCJE1hc3RfY2VsbHNfcGxhcXVlKQpBRURCJHZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkIDwtIGFzLm51bWVyaWMoQUVEQiR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCkKCiMgSUw2LCBJTDZSLCBNQ1AxIG1lYXN1cmVtZW50cwpBRURCJElMNiA8LSBhcy5udW1lcmljKEFFREIkSUw2KSAjIEZBQ1MgcGxhcXVlCkFFREIkSUw2X3BnX3VnXzIwMTUgPC0gYXMubnVtZXJpYyhBRURCJElMNl9wZ191Z18yMDE1KSAjIExVTUlORVggcGxhcXVlCkFFREIkSUw2Ul9wZ191Z18yMDE1IDwtIGFzLm51bWVyaWMoQUVEQiRJTDZSX3BnX3VnXzIwMTUpICMgTFVNSU5FWCBwbGFxdWUKQUVEQiRNQ1AxIDwtIGFzLm51bWVyaWMoQUVEQiRNQ1AxKSAjIExVTUlORVggcGxhcXVlCkFFREIkTUNQMV9wZ191Z18yMDE1IDwtIGFzLm51bWVyaWMoQUVEQiRNQ1AxX3BnX3VnXzIwMTUpICMgTFVNSU5FWCBwbGFxdWUKQUVEQiRNQ1AxX3BnX21sXzIwMTUgPC0gYXMubnVtZXJpYyhBRURCJE1DUDFfcGdfbWxfMjAxNSkgIyBMVU1JTkVYIHBsYXF1ZQpBRURCJGhzQ1JQX3BsYXNtYSA8LSBhcy5udW1lcmljKEFFREIkaHNDUlBfcGxhc21hKSAjIExVTUlORVgKCnJlcXVpcmUobGFiZWxsZWQpCkFFREIkT1J5ZWFyIDwtIHRvX2ZhY3RvcihBRURCJE9SeWVhcikKQUVEQiRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIkR2VuZGVyKQpBRURCJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCJEhvc3BpdGFsKQpBRURCJEtET1FJIDwtIHRvX2ZhY3RvcihBRURCJEtET1FJKQpBRURCJEJNSV9XSE8gPC0gdG9fZmFjdG9yKEFFREIkQk1JX1dITykKQUVEQiREaWFiZXRlc1N0YXR1cyA8LSB0b19mYWN0b3IoQUVEQiREaWFiZXRlc1N0YXR1cykKQUVEQiRTbW9rZXJTdGF0dXMgPC0gdG9fZmFjdG9yKEFFREIkU21va2VyU3RhdHVzKQpBRURCJEFsY29ob2xVc2UgPC0gdG9fZmFjdG9yKEFFREIkQWxjb2hvbFVzZSkKCkFFREIkSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQgPC0gdG9fZmFjdG9yKEFFREIkSHlwZXJ0ZW5zaW9uMSkKQUVEQiRIeXBlcnRlbnNpb24uc2VsZnJlcG9ydGRydWcgPC0gdG9fZmFjdG9yKEFFREIkSHlwZXJ0ZW5zaW9uMikKQUVEQiRIeXBlcnRlbnNpb24uY29tcG9zaXRlIDwtIHRvX2ZhY3RvcihBRURCJEh5cGVydGVuc2lvbi5jb21wb3NpdGUpCkFFREIkSHlwZXJ0ZW5zaW9uLmRydWdzIDwtIHRvX2ZhY3RvcihBRURCJEh5cGVydGVuc2lvbi5kcnVncykKCkFFREIkTWVkLmFudGljb2FndWxhbnRzIDwtIHRvX2ZhY3RvcihBRURCJE1lZC5hbnRpY29hZ3VsYW50cykKQUVEQiRNZWQuYWxsLmFudGlwbGF0ZWxldCA8LSB0b19mYWN0b3IoQUVEQiRNZWQuYWxsLmFudGlwbGF0ZWxldCkKQUVEQiRNZWQuU3RhdGluLkxMRCA8LSB0b19mYWN0b3IoQUVEQiRNZWQuU3RhdGluLkxMRCkKCkFFREIkU3Ryb2tlX0R4IDwtIHRvX2ZhY3RvcihBRURCJFN0cm9rZV9EeCkKQUVEQiRDQURfaGlzdG9yeSA8LSB0b19mYWN0b3IoQUVEQiRDQURfaGlzdG9yeSkKQUVEQiRQQU9EIDwtIHRvX2ZhY3RvcihBRURCJFBBT0QpCkFFREIkUGVyaXBoZXJhbC5pbnRlcnYgPC0gdG9fZmFjdG9yKEFFREIkUGVyaXBoZXJhbC5pbnRlcnYpCkFFREIkTWVkSHhfQ1ZEIDwtIHRvX2ZhY3RvcihBRURCJE1lZEh4X0NWRCkKCgpBRURCJHN5bXB0IDwtIHRvX2ZhY3RvcihBRURCJHN5bXB0KQpBRURCJFN5bXB0b21zLjNnIDwtIHRvX2ZhY3RvcihBRURCJFN5bXB0b21zLjNnKQpBRURCJFN5bXB0b21zLjRnIDwtIHRvX2ZhY3RvcihBRURCJFN5bXB0b21zLjRnKQpBRURCJFN5bXB0b21zLjVHIDwtIHRvX2ZhY3RvcihBRURCJFN5bXB0b21zLjVHKQpBRURCJEFzeW1wdFN5bXB0IDwtIHRvX2ZhY3RvcihBRURCJEFzeW1wdFN5bXB0KQpBRURCJEFzeW1wdFN5bXB0MkcgPC0gdG9fZmFjdG9yKEFFREIkQXN5bXB0U3ltcHQyRykKCgpBRURCJHJlc3Rlbm9zIDwtIHRvX2ZhY3RvcihBRURCJHJlc3Rlbm9zKQpBRURCJHN0ZW5vc2UgPC0gdG9fZmFjdG9yKEFFREIkc3Rlbm9zZSkKQUVEQiRFUF9jb21wb3NpdGUgPC0gdG9fZmFjdG9yKEFFREIkRVBfY29tcG9zaXRlKQpBRURCJE1hY3JvcGhhZ2VzLmJpbiA8LSB0b19mYWN0b3IoQUVEQiRNYWNyb3BoYWdlcy5iaW4pCkFFREIkU01DLmJpbiA8LSB0b19mYWN0b3IoQUVEQiRTTUMuYmluKQpBRURCJElQSC5iaW4gPC0gdG9fZmFjdG9yKEFFREIkSVBILmJpbikKQUVEQiRDYWxjLmJpbiA8LSB0b19mYWN0b3IoQUVEQiRDYWxjLmJpbikKQUVEQiRDb2xsYWdlbi5iaW4gPC0gdG9fZmFjdG9yKEFFREIkQ29sbGFnZW4uYmluKQpBRURCJEZhdC5iaW5fMTAgPC0gdG9fZmFjdG9yKEFFREIkRmF0LmJpbl8xMCkKQUVEQiRGYXQuYmluXzQwIDwtIHRvX2ZhY3RvcihBRURCJEZhdC5iaW5fNDApCkFFREIkT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSA8LSB0b19mYWN0b3IoQUVEQiRPdmVyYWxsUGxhcXVlUGhlbm90eXBlKQoKQUVEQiRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQiRBcnRlcnlfc3VtbWFyeSkKCkFFREIkaW5mb3JtZWRjb25zZW50IDwtIHRvX2ZhY3RvcihBRURCJGluZm9ybWVkY29uc2VudCkKCkFFREIuQ0VBIDwtIHN1YnNldChBRURCLAogICAgICAgICAgICAgICAgICAgIChBcnRlcnlfc3VtbWFyeSA9PSAiY2Fyb3RpZCAobGVmdCAmIHJpZ2h0KSIgfCBBcnRlcnlfc3VtbWFyeSA9PSAib3RoZXIgY2Fyb3RpZCBhcnRlcmllcyAoY29tbW9uLCBleHRlcm5hbCkiKSAmICMgd2Ugb25seSB3YW50IGNhcm90aWRzCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJtaXNzaW5nIiAmICMgd2UgYXJlIHJlYWxseSBzdHJpY3QgaW4gc2VsZWN0aW5nIGJhc2VkIG9uICdpbmZvcm1lZCBjb25zZW50JyEKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCBkaWVkIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIHRpc3N1ZSwgbm8gY29tbWVyaWNhbCBidXNpbmVzcyIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAieWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBtZWRpY2FsIGluZm8sIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlLCBubyBxdWVzdGlvbm5haXJlcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gY29tbWVyaWNhbCBidXNpbmVzcyIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAieWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBtZWRpY2FsIGluZm8sIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlLCBubyBoZWFsdGggdHJlYXRtZW50IiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlLCBoZWFsdGggdHJlYXRtZW50IHdoZW4gcG9zc2libGUiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIG1lZGljYWwgaW5mbyIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAieWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBjb21tZXJjaWFsIGJ1c2luZXNzIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJubywgZG9lc24ndCB3YW50IHRvIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJubywgdW5hYmxlIHRvIHNpZ24iICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCBubyByZWFjdGlvbiIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAibm8sIGxvc3QiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCB0b28gb2xkIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIG1lZGljYWwgaW5mbywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJubyAobmV2ZXIgYXNrZWQgZm9yIElDIGJlY2F1c2UgdGhlcmUgd2FzIG5vIHRpc3N1ZSkiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCBlbmRwb2ludCIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAibm9vaXQgZ2VpbmNsdWRlZXJkIiAmIAogICAgICAgICAgICAgICAgICAgICAhaXMubmEoQXN5bXB0U3ltcHQyRykpCiMgQUVEQi5DRUFbMToxMCwgMToxMF0KZGltKEFFREIuQ0VBKQpgYGAKCmBgYHtyfQpjYXQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpCmNhdCgiQ1JFQVRFIEJBU0VMSU5FIFRBQkxFXG4iKQoKIyBCYXNlbGluZSB0YWJsZSB2YXJpYWJsZXMKYmFzZXRhYmxlX3ZhcnMgPSBjKCJIb3NwaXRhbCIsICJPUnllYXIiLAogICAgICAgICAgICAgICAgICAgIkFnZSIsICJHZW5kZXIiLCAKICAgICAgICAgICAgICAgICAgICJUQ19maW5hbENVIiwgIkxETF9maW5hbENVIiwgIkhETF9maW5hbENVIiwgIlRHX2ZpbmFsQ1UiLCAKICAgICAgICAgICAgICAgICAgICJUQ19maW5hbCIsICJMRExfZmluYWwiLCAiSERMX2ZpbmFsIiwgIlRHX2ZpbmFsIiwgCiAgICAgICAgICAgICAgICAgICAiaHNDUlBfcGxhc21hIiwKICAgICAgICAgICAgICAgICAgICJzeXN0b2xpYyIsICJkaWFzdG9saSIsICJHRlJfTURSRCIsICJCTUkiLCAKICAgICAgICAgICAgICAgICAgICJLRE9RSSIsICJCTUlfV0hPIiwKICAgICAgICAgICAgICAgICAgICJTbW9rZXJTdGF0dXMiLCAiQWxjb2hvbFVzZSIsCiAgICAgICAgICAgICAgICAgICAiRGlhYmV0ZXNTdGF0dXMiLCAKICAgICAgICAgICAgICAgICAgICJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIsICJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydGRydWciLCAiSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSIsICJIeXBlcnRlbnNpb24uZHJ1Z3MiLCAKICAgICAgICAgICAgICAgICAgICJNZWQuYW50aWNvYWd1bGFudHMiLCAiTWVkLmFsbC5hbnRpcGxhdGVsZXQiLCAiTWVkLlN0YXRpbi5MTEQiLCAKICAgICAgICAgICAgICAgICAgICJTdHJva2VfRHgiLCAic3ltcHQiLCAiU3ltcHRvbXMuNUciLCAiQXN5bXB0U3ltcHQiLCAiQXN5bXB0U3ltcHQyRyIsCiAgICAgICAgICAgICAgICAgICAicmVzdGVub3MiLCAic3Rlbm9zZSIsCiAgICAgICAgICAgICAgICAgICAiTWVkSHhfQ1ZEIiwgIkNBRF9oaXN0b3J5IiwgIlBBT0QiLCAiUGVyaXBoZXJhbC5pbnRlcnYiLCAKICAgICAgICAgICAgICAgICAgICJFUF9jb21wb3NpdGUiLCAiRVBfY29tcG9zaXRlX3RpbWUiLAogICAgICAgICAgICAgICAgICAgIm1hY21lYW4wIiwgInNtY21lYW4wIiwgIk1hY3JvcGhhZ2VzLmJpbiIsICJTTUMuYmluIiwKICAgICAgICAgICAgICAgICAgICJuZXV0cm9waGlscyIsICJNYXN0X2NlbGxzX3BsYXF1ZSIsCiAgICAgICAgICAgICAgICAgICAiSVBILmJpbiIsICJ2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCIsCiAgICAgICAgICAgICAgICAgICAiQ2FsYy5iaW4iLCAiQ29sbGFnZW4uYmluIiwgCiAgICAgICAgICAgICAgICAgICAiRmF0LmJpbl8xMCIsICJGYXQuYmluXzQwIiwgIk92ZXJhbGxQbGFxdWVQaGVub3R5cGUiLAogICAgICAgICAgICAgICAgICAgIklMNiIsICJJTDZfcGdfdWdfMjAxNSIsICJJTDZSX3BnX3VnXzIwMTUiLAogICAgICAgICAgICAgICAgICAgIk1DUDEiLCAiTUNQMV9wZ191Z18yMDE1IiwgIk1DUDFfcGdfbWxfMjAxNSIpCgpiYXNldGFibGVfYmluID0gYygiR2VuZGVyIiwgCiAgICAgICAgICAgICAgICAgICJLRE9RSSIsICJCTUlfV0hPIiwKICAgICAgICAgICAgICAgICAgIlNtb2tlclN0YXR1cyIsICJBbGNvaG9sVXNlIiwKICAgICAgICAgICAgICAgICAgIkRpYWJldGVzU3RhdHVzIiwgCiAgICAgICAgICAgICAgICAgICJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIsICJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydGRydWciLCAiSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSIsICJIeXBlcnRlbnNpb24uZHJ1Z3MiLCAKICAgICAgICAgICAgICAgICAgIk1lZC5hbnRpY29hZ3VsYW50cyIsICJNZWQuYWxsLmFudGlwbGF0ZWxldCIsICJNZWQuU3RhdGluLkxMRCIsIAogICAgICAgICAgICAgICAgICAiU3Ryb2tlX0R4IiwgInN5bXB0IiwgIlN5bXB0b21zLjVHIiwgIkFzeW1wdFN5bXB0IiwgIkFzeW1wdFN5bXB0MkciLAogICAgICAgICAgICAgICAgICAicmVzdGVub3MiLCAic3Rlbm9zZSIsCiAgICAgICAgICAgICAgICAgICJDQURfaGlzdG9yeSIsICJQQU9EIiwgIlBlcmlwaGVyYWwuaW50ZXJ2IiwgCiAgICAgICAgICAgICAgICAgICJFUF9jb21wb3NpdGUiLCAiTWFjcm9waGFnZXMuYmluIiwgIlNNQy5iaW4iLAogICAgICAgICAgICAgICAgICAiSVBILmJpbiIsIAogICAgICAgICAgICAgICAgICAiQ2FsYy5iaW4iLCAiQ29sbGFnZW4uYmluIiwgCiAgICAgICAgICAgICAgICAgICJGYXQuYmluXzEwIiwgIkZhdC5iaW5fNDAiLCAiT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSIpCiMgYmFzZXRhYmxlX2JpbgoKYmFzZXRhYmxlX2NvbiA9IGJhc2V0YWJsZV92YXJzWyFiYXNldGFibGVfdmFycyAlaW4lIGJhc2V0YWJsZV9iaW5dCiMgYmFzZXRhYmxlX2NvbgpgYGAKCiMjIyBBbGwgcGF0aWVudHMKU2hvd2luZyB0aGUgYmFzZWxpbmUgdGFibGUgb2YgdGhlIHdob2xlIEF0aGVyby1FeHByZXNzIEJpb2JhbmsuCgpgYGB7ciBCYXNlbGluZSBBRURCOiBWaXN1YWxpemUgQUVEQn0KIyBDcmVhdGUgYmFzZWxpbmUgdGFibGVzCiMgaHR0cDovL3JzdHVkaW8tcHVicy1zdGF0aWMuczMuYW1hem9uYXdzLmNvbS8xMzMyMV9kYTMxNDYzM2RiOTI0ZGM3ODk4NmE4NTA4MTNhNTBkNS5odG1sCkFFREIudGFibGVPbmUgPSBwcmludChDcmVhdGVUYWJsZU9uZSh2YXJzID0gYmFzZXRhYmxlX3ZhcnMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJhdGEgPSAiU3ltcHRvbXMuNGciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBBRURCLCBpbmNsdWRlTkEgPSBUUlVFKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ubm9ybWFsID0gYygpLCBtaXNzaW5nID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZSA9IEZBTFNFLCBub1NwYWNlcyA9IEZBTFNFLCBzaG93QWxsTGV2ZWxzID0gVFJVRSwgZXhwbGFpbiA9IFRSVUUsIAogICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9ICJwZiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnREaWdpdHMgPSAzKVssMTozXQpgYGAKCiMjIyBDRUEgcGF0aWVudHMKClNob3dpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIG9mIHRoZSBDRUEgcGF0aWVudHMgaW4gdGhlIEF0aGVyby1FeHByZXNzIEJpb2JhbmsuCgpgYGB7ciBCYXNlbGluZSBBRURCOiBWaXN1YWxpemUgQUVEQiBDRUF9CiMgQ3JlYXRlIGJhc2VsaW5lIHRhYmxlcwojIGh0dHA6Ly9yc3R1ZGlvLXB1YnMtc3RhdGljLnMzLmFtYXpvbmF3cy5jb20vMTMzMjFfZGEzMTQ2MzNkYjkyNGRjNzg5ODZhODUwODEzYTUwZDUuaHRtbApBRURCLkNFQS50YWJsZU9uZSA9IHByaW50KENyZWF0ZVRhYmxlT25lKHZhcnMgPSBiYXNldGFibGVfdmFycywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmYWN0b3JWYXJzID0gYmFzZXRhYmxlX2JpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHN0cmF0YSA9ICJTeW1wdG9tcy40ZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IEFFREIuQ0VBLCBpbmNsdWRlTkEgPSBUUlVFKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ubm9ybWFsID0gYygpLCBtaXNzaW5nID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZSA9IEZBTFNFLCBub1NwYWNlcyA9IEZBTFNFLCBzaG93QWxsTGV2ZWxzID0gVFJVRSwgZXhwbGFpbiA9IFRSVUUsIAogICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9ICJwZiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnREaWdpdHMgPSAzKVssMTozXQpgYGAKCiMjIyBDRUEgcGF0aWVudHMgd2l0aCBgTUNQMV9wZ191Z18yMDE1YAoKU2hvd2luZyB0aGUgYmFzZWxpbmUgdGFibGUgb2YgdGhlIENFQSBwYXRpZW50cyBpbiB0aGUgQXRoZXJvLUV4cHJlc3MgQmlvYmFuayB3aXRoIGBNQ1AxX3BnX3VnXzIwMTVgLgoKYGBge3IgQmFzZWxpbmUgQUVEQjogVmlzdWFsaXplIHN1YnNldENFQX0KQUVEQi5DRUEuc3Vic2V0IDwtIHN1YnNldChBRURCLkNFQSwgIWlzLm5hKE1DUDFfcGdfdWdfMjAxNSkpCgpBRURCLkNFQS5zdWJzZXQuQXN5bXB0U3ltcHQudGFibGVPbmUgPSBwcmludChDcmVhdGVUYWJsZU9uZSh2YXJzID0gYmFzZXRhYmxlX3ZhcnMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyYXRhID0gIkFzeW1wdFN5bXB0MkciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBBRURCLkNFQS5zdWJzZXQsIGluY2x1ZGVOQSA9IFRSVUUpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBub25ub3JtYWwgPSBjKCksIG1pc3NpbmcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlID0gRkFMU0UsIG5vU3BhY2VzID0gRkFMU0UsIHNob3dBbGxMZXZlbHMgPSBUUlVFLCBleHBsYWluID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gInBmIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udERpZ2l0cyA9IDMpWywxOjZdCmBgYAoKIyMjIENFQSBwYXRpZW50cyB3aXRoIGBNQ1AxX3BnX3VnXzIwMTVgIGFuZCBgTUNQMWAKClNob3dpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIG9mIHRoZSBDRUEgcGF0aWVudHMgaW4gdGhlIEF0aGVyby1FeHByZXNzIEJpb2Jhbmsgd2l0aCBgTUNQMV9wZ191Z18yMDE1YCBfYW5kXyBgTUNQMWAuCgpgYGB7ciBCYXNlbGluZSBBRURCOiBWaXN1YWxpemUgc3Vic2V0Q0VBIHdpdGggTUNQMX0KCkFFREIuQ0VBLnN1YnNldC5jb21ibyA8LSBzdWJzZXQoQUVEQi5DRUEsICFpcy5uYShNQ1AxX3BnX3VnXzIwMTUpIHwgIWlzLm5hKE1DUDEpKQoKQUVEQi5DRUEuc3Vic2V0LmNvbWJvLnRhYmxlT25lID0gcHJpbnQoQ3JlYXRlVGFibGVPbmUodmFycyA9IGJhc2V0YWJsZV92YXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyYXRhID0gIkFzeW1wdFN5bXB0MkciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBBRURCLkNFQS5zdWJzZXQuY29tYm8sIGluY2x1ZGVOQSA9IFRSVUUpLAogICAgICAgICAgICAgICAgICAgICAgICAgIG5vbm5vcm1hbCA9IGMoKSwgbWlzc2luZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGUgPSBGQUxTRSwgbm9TcGFjZXMgPSBGQUxTRSwgc2hvd0FsbExldmVscyA9IFRSVUUsIGV4cGxhaW4gPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9ICJwZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udERpZ2l0cyA9IDMpWywxOjZdCmBgYAoKIyMjIENFQSBwYXRpZW50cyB3aXRoIHBsYXNtYSBNQ1AxIGxldmVscwoKU2hvd2luZyB0aGUgYmFzZWxpbmUgdGFibGUgb2YgdGhlIENFQSBwYXRpZW50cyBpbiB0aGUgQXRoZXJvLUV4cHJlc3MgQmlvYmFuayB3aXRoIHBsYXNtYSBNQ1AxIGxldmVscy4KCj4gTk9UIEFWQUlMQUJMRSBZRVQKCmBgYHtyIEJhc2VsaW5lIEFFREI6IFZpc3VhbGl6ZSBzdWJzZXRDRUEgd2l0aCBwbGFzbWEgTUNQMX0KQUVEQi5DRUEuc3Vic2V0LnBsYXNtYSA8LSBzdWJzZXQoQUVEQi5DRUEsICFpcy5uYShNQ1AxX3BsYXNtYSkpCgpBRURCLkNFQS5zdWJzZXQucGxhc21hLnRhYmxlT25lID0gcHJpbnQoQ3JlYXRlVGFibGVPbmUodmFycyA9IGJhc2V0YWJsZV92YXJzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZhY3RvclZhcnMgPSBiYXNldGFibGVfYmluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmF0YSA9ICJBc3ltcHRTeW1wdDJHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gQUVEQi5DRUEuc3Vic2V0LnBsYXNtYSwgaW5jbHVkZU5BID0gVFJVRSksIAogICAgICAgICAgICAgICAgICAgICAgICAgIG5vbm5vcm1hbCA9IGMoKSwgbWlzc2luZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGUgPSBGQUxTRSwgbm9TcGFjZXMgPSBGQUxTRSwgc2hvd0FsbExldmVscyA9IFRSVUUsIGV4cGxhaW4gPSBUUlVFLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSAicGYiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250RGlnaXRzID0gMylbLDE6Nl0KYGBgCgoKIyMjIENFQSBwYXRpZW50cyB3aXRoIHBsYXNtYSBfYW5kXyBwbGFxdWUgTUNQMSBsZXZlbHMKClNob3dpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIG9mIHRoZSBDRUEgcGF0aWVudHMgaW4gdGhlIEF0aGVyby1FeHByZXNzIEJpb2Jhbmsgd2l0aCBib3RoIHBsYXNtYSBhbmQgcGxhcXVlIE1DUDEgbGV2ZWxzLgoKPiBOT1QgQVZBSUxBQkxFIFlFVAoKYGBge3IgQmFzZWxpbmUgQUVEQjogVmlzdWFsaXplIHN1YnNldENFQSB3aXRoIHBsYXNtYSBNQ1AxIGFuZCBwbGFxdWUgTUNQMX0KQUVEQi5DRUEuc3Vic2V0LmJvdGggPC0gc3Vic2V0KEFFREIuQ0VBLCAhaXMubmEoTUNQMV9wZ191Z18yMDE1KSAmICFpcy5uYShNQ1AxKSkKCkFFREIuQ0VBLnN1YnNldC5ib3RoLnRhYmxlT25lID0gcHJpbnQoQ3JlYXRlVGFibGVPbmUodmFycyA9IGJhc2V0YWJsZV92YXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyYXRhID0gIkFzeW1wdFN5bXB0MkciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBBRURCLkNFQS5zdWJzZXQuYm90aCwgaW5jbHVkZU5BID0gVFJVRSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ubm9ybWFsID0gYygpLCBtaXNzaW5nID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZSA9IEZBTFNFLCBub1NwYWNlcyA9IEZBTFNFLCBzaG93QWxsTGV2ZWxzID0gVFJVRSwgZXhwbGFpbiA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gInBmIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250RGlnaXRzID0gMylbLDE6Nl0KYGBgCgpXcml0aW5nIHRoZSBiYXNlbGluZSB0YWJsZSB0byBFeGNlbCBmb3JtYXQuIApgYGB7ciBCYXNlbGluZSBBRURCOiB3cml0ZX0KIyBXcml0ZSBiYXNldGFibGUKcmVxdWlyZShvcGVueGxzeCkKCndyaXRlLnhsc3goZmlsZSA9IHBhc3RlMChCQVNFTElORV9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5BRS5CYXNlbGluZVRhYmxlLndob2xlQ0VBLnhsc3giKSwKICAgICAgICAgICBBRURCLkNFQS50YWJsZU9uZSwgCiAgICAgICAgICAgcm93Lm5hbWVzID0gVFJVRSwgCiAgICAgICAgICAgY29sLm5hbWVzID0gVFJVRSwgCiAgICAgICAgICAgc2hlZXROYW1lID0gIndob2xlQUVEQl9CYXNlbGluZSIpCgp3cml0ZS54bHN4KGZpbGUgPSBwYXN0ZTAoQkFTRUxJTkVfbG9jLCAiLyIsVG9kYXksIi4iLFBST0pFQ1ROQU1FLCIuQUUuQmFzZWxpbmVUYWJsZS53aG9sZUNFQS5Bc3ltcHRTeW1wdC54bHN4IiksCiAgICAgICAgICAgQUVEQi5DRUEuc3Vic2V0LkFzeW1wdFN5bXB0LnRhYmxlT25lLCAKICAgICAgICAgICByb3cubmFtZXMgPSBUUlVFLCAKICAgICAgICAgICBjb2wubmFtZXMgPSBUUlVFLCAKICAgICAgICAgICBzaGVldE5hbWUgPSAid2hvbGVBRURCX0Jhc2VsaW5lX1N5bXB0IikKCndyaXRlLnhsc3goZmlsZSA9IHBhc3RlMChCQVNFTElORV9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5BRS5CYXNlbGluZVRhYmxlLnN1YnNldENFQS54bHN4IiksCiAgICAgICAgICAgQUVEQi5DRUEuc3Vic2V0LmNvbWJvLnRhYmxlT25lLAogICAgICAgICAgIHJvdy5uYW1lcyA9IFRSVUUsCiAgICAgICAgICAgY29sLm5hbWVzID0gVFJVRSwKICAgICAgICAgICBzaGVldE5hbWUgPSAic3Vic2V0QUVEQl9CYXNlbGluZSIpCgojIHdyaXRlLnhsc3goZmlsZSA9IHBhc3RlMChCQVNFTElORV9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5BRS5CYXNlbGluZVRhYmxlLnN1YnNldENFQXBsYXNtYS5Bc3ltcHRTeW1wdC54bHN4IiksCiMgICAgICAgICAgICBBRURCLkNFQS5zdWJzZXQucGxhc21hLnRhYmxlT25lLCAKIyAgICAgICAgICAgIHJvdy5uYW1lcyA9IFRSVUUsIAojICAgICAgICAgICAgY29sLm5hbWVzID0gVFJVRSwgCiMgICAgICAgICAgICBzaGVldE5hbWUgPSAic3Vic2V0QUVEQl9CYXNlbGluZV9wbGFzbWFfU3ltcHQiKQoKYGBgCgoKIyMgRGF0YSBleHBsb3JhdGlvbgoKSGVyZSB3ZSBpbnNwZWN0IHRoZSBkYXRhIGFuZCB3aGVuIG5lY2Vzc2FyeSB0cmFuc2Zvcm0gcXVhbnRpdGF0aXZlIG1lYXN1cmVzLiBXZSB3aWxsIGluc3BlY3QgdGhlIHJhdywgbmF0dXJhbCBsb2cgdHJhbnNmb3JtZWQgKyB0aGUgc21hbGxlc3QgbWVhc3VyZW1lbnQsIGFuZCBpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbi4gCgojIyMgTUNQMSBwbGFxdWUgbGV2ZWxzOiBleHBlcmltZW50IDIKCldlIHdpbGwgZXhwbG9yZSB0aGUgcGxhcXVlIGxldmVscy4gQXMgbm90ZWQgYWJvdmUsIHdlIHdpbGwgdXNlIGBNQ1AxX3BnX3VnXzIwMTVgLCB0aGlzIHdhcyBleHBlcmltZW50IDIgaW4gMjAxNSBvbiB0aGUgTFVNSU5FWC1wbGF0Zm9ybSBhbmQgbWVhc3VyZW1lbnRzIHdlcmUgY29ycmVjdGVkIGZvciB0b3RhbCBwbGFxdWUgcHJvdGVpbiBjb250ZW50LgoKYGBge3IgRGF0YUV4cGxvcmF0aW9uOiBNQ1AxIHBsYXF1ZSBFeHAyfQoKc3VtbWFyeShBRURCLkNFQSRNQ1AxX3BnX3VnXzIwMTUpCgpkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1LCBBRURCLkNFQSRBc3ltcHRTeW1wdDJHLCBzdW1tYXJ5KSkKCgpzdW1tYXJ5KEFFREIuQ0VBJE1DUDFfcGdfbWxfMjAxNSkKCmRvLmNhbGwocmJpbmQgLCBieShBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTUsIEFFREIuQ0VBJEFzeW1wdFN5bXB0MkcsIHN1bW1hcnkpKQpgYGAKCmBgYHtyIERhdGFFeHBsb3JhdGlvbjogTUNQMSBwbGFxdWUgRXhwMiB2aXN1YWx9CmxpYnJhcnkocGF0Y2h3b3JrKQpwMSA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gInBnL3VnIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCm1pbl9NQ1AxX3BnX3VnXzIwMTUgPC0gbWluKEFFREIuQ0VBJE1DUDFfcGdfdWdfMjAxNSwgbmEucm0gPSBUUlVFKQptaW5fTUNQMV9wZ191Z18yMDE1CgpBRURCLkNFQSRNQ1AxX3BnX3VnXzIwMTVfTE4gPC0gbG9nKEFFREIuQ0VBJE1DUDFfcGdfdWdfMjAxNSArIG1pbl9NQ1AxX3BnX3VnXzIwMTUpCnAyIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxX3BnX3VnXzIwMTVfTE4iLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lYW4iLCAKICAgICAgICAgICAgICAgICAgICAjIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIyBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICAjIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJuYXR1cmFsIGxvZy10cmFuc2Zvcm1lZCBwZy91ZyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpBRURCLkNFQSRNQ1AxX3BnX3VnXzIwMTVfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRNQ1AxX3BnX3VnXzIwMTUsIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1KSkpCnAzIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWF0aW9uIHBnL3VnIiwKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDEgCnAyIApwMwojIGdncGFyKHAxLCBsZWdlbmQgPSAiIikgLyBnZ3BhcihwMiwgbGVnZW5kID0gIiIpICB8IGdncGFyKHAzLCBsZWdlbmQgPSAicmlnaHQiKQoKcm0ocDEsIHAyLCBwMykKYGBgCgpXZSB3aWxsIGV4cGxvcmUgdGhlIGBNQ1AxX3BnX21sXzIwMTVgIGxldmVscyBhbmQgY29tcGFyZSB0byB0aGUgcHJvdGVpbiBjb250ZW50IGNvcnJlY3RlZCBvbmVzLiAKCmBgYHtyIERhdGFFeHBsb3JhdGlvbjogTUNQMSBwbGFxdWUgcGctbWwgRXhwMiB2aXN1YWx9CmxpYnJhcnkocGF0Y2h3b3JrKQpwMSA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wZ19tbF8yMDE1IiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gInBnL21MIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCm1pbl9NQ1AxX3BnX21sXzIwMTUgPC0gbWluKEFFREIuQ0VBJE1DUDFfcGdfbWxfMjAxNSwgbmEucm0gPSBUUlVFKQptaW5fTUNQMV9wZ19tbF8yMDE1CgpBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTVfTE4gPC0gbG9nKEFFREIuQ0VBJE1DUDFfcGdfbWxfMjAxNSArIG1pbl9NQ1AxX3BnX21sXzIwMTUpCnAyIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxX3BnX21sXzIwMTVfTE4iLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lYW4iLCAKICAgICAgICAgICAgICAgICAgICAjIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIyBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICAjIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJuYXR1cmFsIGxvZy10cmFuc2Zvcm1lZCBwZy9tTCIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTVfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTUsIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUEkTUNQMV9wZ19tbF8yMDE1KSkpCnAzIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxX3BnX21sXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWF0aW9uIHBnL21MIiwKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDEgCnAyIApwMwojIGdncGFyKHAxLCBsZWdlbmQgPSAiIikgLyBnZ3BhcihwMiwgbGVnZW5kID0gIiIpICB8IGdncGFyKHAzLCBsZWdlbmQgPSAicmlnaHQiKQoKcm0ocDEsIHAyLCBwMykKYGBgCgojIyMgTUNQMSBwbGFxdWUgbGV2ZWxzOiBleHBlcmltZW50IDEKCldlIHdpbGwgZXhwbG9yZSB0aGUgcGxhcXVlIGxldmVscy4gQXMgbm90ZWQgYWJvdmUsIHdlIHdpbGwgdXNlIGBNQ1AxYCwgdGhpcyB3YXMgZXhwZXJpbWVudCAxIG9uIHRoZSBMVU1JTkVYLXBsYXRmb3JtIGFuZCBtZWFzdXJlbWVudHMgd2VyZSBjb3JyZWN0ZWQgZm9yIHRvdGFsIHBsYXF1ZSBwcm90ZWluIGNvbnRlbnQuCgpgYGB7ciBEYXRhRXhwbG9yYXRpb246IE1DUDEgcGxhcXVlIEV4cDF9CgojIHN1bW1hcnkoQUVEQi5DRUEkTUNQMSkKIyAKIyBkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMSwgQUVEQi5DRUEkQXN5bXB0U3ltcHQyRywgc3VtbWFyeSkpCiMgCiMgYXR0YWNoKEFFREIuQ0VBKQpBRURCLkNFQSRNQ1AxW01DUDEgPT0gMF0gPC0gTkEKIyBkZXRhY2goQUVEQi5DRUEpCgpzdW1tYXJ5KEFFREIuQ0VBJE1DUDEpCgpkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMSwgQUVEQi5DRUEkQXN5bXB0U3ltcHQyRywgc3VtbWFyeSkpCgpgYGAKCmBgYHtyIERhdGFFeHBsb3JhdGlvbjogTUNQMSBwbGFxdWUgRXhwMSB2aXN1YWx9CnAxIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gInBnL21MIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCm1pbl9NQ1AxIDwtIG1pbihBRURCLkNFQSRNQ1AxLCBuYS5ybSA9IFRSVUUpCm1pbl9NQ1AxCgpBRURCLkNFQSRNQ1AxX0xOIDwtIGxvZyhBRURCLkNFQSRNQ1AxICsgbWluX01DUDEpCnAyIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxX0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIm5hdHVyYWwgbG9nLXRyYW5zZm9ybWVkIHBnL3VnIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCkFFREIuQ0VBJE1DUDFfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRNQ1AxLCBuYS5sYXN0ID0gImtlZXAiKSAtIDAuNSkgLyBzdW0oIWlzLm5hKEFFREIuQ0VBJE1DUDEpKSkKcDMgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWF0aW9uIHBnL3VnIiwKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDEgCnAyIApwMwojIGdncGFyKHAxLCBsZWdlbmQgPSAiIikgLyBnZ3BhcihwMiwgbGVnZW5kID0gIiIpICB8IGdncGFyKHAzLCBsZWdlbmQgPSAicmlnaHQiKQoKcm0ocDEsIHAyLCBwMykKCmBgYAoKIyMjIyBDb3JyZWxhdGlvbnMgYmV0d2VlbiBNQ1AxIHBsYXF1ZSBsZXZlbHMgYW5kIHRyYW5zZm9ybWF0aW9ucwoKSGVyZSB3ZSBjb21wYXJlIHRoZSBNQ1AxIHBsYXF1ZSBsZXZlbHMgZnJvbSBleHBlcmltZW50IDEgd2l0aCB0aG9zZSBleHBlcmltZW50IDIuIFRoZSBsYXR0ZXIgd2UgbWVhc3VyZWQgaW4gcGcvbUwgYW5kIGFsc28gY29ycmVjdGVkIGZvciB0aGUgdG90YWwgcHJvdGVpbiBjb250ZW50IChwZy91ZykuCmBgYHtyIE1DUDEgc2NhdHRlcnM6IHRyYW5zZm9ybWF0aW9uc30KcDEgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk1DUDFfcmFuayIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJleHBlcmltZW50IDEiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5ULCBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAxIAoKcDIgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk1DUDFfcmFuayIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJleHBlcmltZW50IDEiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5ULCBbcGcvbUxdL1twZy91Z10iLAogICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDIgCgpwMyA8LSBnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAiTUNQMV9wZ19tbF8yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZXhwZXJpbWVudCAyLCBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJleHBlcmltZW50IDIsIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMsIElOVCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpwMwoKYGBgCgoKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMgCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgoKIyMgUHJlbGltaW5hcnkgY29uY2x1c2lvbiBkYXRhIGV4cGxvcmF0aW9uCgpJbiBsaW5lIHdpdGggdGhlIHByZXZpb3VzIHdvcmsgYnkgW01hcmlvcyBHZW9yZ2FraXNdKGh0dHBzOi8vd3d3LmFoYWpvdXJuYWxzLm9yZy9kb2kvZnVsbC8xMC4xMTYxL0NJUkNSRVNBSEEuMTE5LjMxNTM4MCl7dGFyZ2V0PSJfYmxhbmsifSB3ZSB3aWxsIGFwcGx5IF9uYXR1cmFsIGxvZyB0cmFuc2Zvcm1hdGlvbl8gb24gYWxsIHByb3RlaW5zIGFuZCBmb2N1cyB0aGUgYW5hbHlzaXMgb24gTUNQMSBpbiBwbGFzbWEgYW5kIHBsYXF1ZS4KCiMgQW5hbHlzZXMKClRoZSBhbmFseXNlcyBhcmUgZm9jdXNlZCBvbiB0aHJlZSBlbGVtZW50czogCgoxKSBwbGFxdWUgdnVsbmVyYWJpbGl0eSBwaGVub3R5cGVzCjIpIGNsaW5pY2FsIHN0YXR1cyBhdCBpbmNsdXNpb24gKHN5bXB0b21zKQozKSBzZWNvbmRhcnkgY2xpbmljYWwgb3V0Y29tZSBkdXJpbmcgdGhyZWUgKDMpIHllYXJzIG9mIGZvbGxvdy11cAoKIyMgQ292YXJpYXRlcyAmIG90aGVyIHZhcmlhYmxlcwoKMS4gIEFnZSAoY29udGludW91cyBpbiAxLXllYXIgaW5jcmVtZW50KS4gW2BBZ2VgXQoyLiAgU2V4IChtYWxlIHZzLiBmZW1hbGUpLiBbYEdlbmRlcmBdCjMuICBQcmVzZW5jZSBvZiBoeXBlcnRlbnNpb24gYXQgYmFzZWxpbmUgKGRlZmluZWQgZWl0aGVyIGFzIGhpc3Rvcnkgb2YgaHlwZXJ0ZW5zaW9uLCBTQlAg4omlMTQwIG1tIEhnLCBEQlAg4omlOTAgbW0gSGcsIG9yIHByZXNjcmlwdGlvbiBvZiBhbnRpaHlwZXJ0ZW5zaXZlIG1lZGljYXRpb25zKS4gW2BIeXBlcnRlbnNpb24uY29tcG9zaXRlYF0KNC4gIFByZXNlbmNlIG9mIGRpYWJldGVzIG1lbGxpdHVzIGF0IGJhc2VsaW5lIChkZWZpbmVkIGVpdGhlciBhcyBhIGhpc3Rvcnkgb2YgZGlhYmV0ZXMgYW5kL29yIGFkbWluaXN0cmF0aW9uIG9mIGdsdWNvc2UgbG93ZXJpbmcgbWVkaWNhdGlvbikuIFtgRGlhYmV0ZXNTdGF0dXNgXQo1LiAgU21va2luZyAoY3VycmVudCwgZXgtLCBuZXZlcikuIFtgU21va2VyU3RhdHVzYF0KNi4gIExETC1DIGxldmVscyAoY29udGludW91cykuIFtgTERMX2ZpbmFsYF0KNy4gIFVzZSBvZiBsaXBpZC1sb3dlcmluZyBkcnVncy4gW2BNZWQuU3RhdGluLkxMRGBdCjguICBVc2Ugb2YgYW50aXBsYXRlbGV0IGRydWdzLiBbYE1lZC5hbGwuYW50aXBsYXRlbGV0YF0KOS4gIGVHRlIgKGNvbnRpbnVvdXMpLiBbYEdGUl9NRFJEYF0KMTAuCUJNSSAoY29udGludW91cykuIFtgQk1JYF0KMTEuCUhpc3Rvcnkgb2YgY2FyZGlvdmFzY3VsYXIgZGlzZWFzZSAoc3Ryb2tlLCBjb3JvbmFyeSBhcnRlcnkgZGlzZWFzZSwgcGVyaXBoZXJhbCBhcnRlcnkgZGlzZWFzZSkuIFtgTWVkSHhfQ1ZEYF0gY29tYmluYXRpb24gb2YgW2BDQURfaGlzdG9yeWAsIGBTdHJva2VfaGlzdG9yeWAsIGBQZXJpcGhlcmFsLmludGVydmBdCjEyLglMZXZlbCBvZiBzdGVub3NpcyAoNTAtNzAlIHZzLiA3MC05OSUpLiBbYHN0ZW5vc2VgXQoxMy4gWWVhciBvZiBzdXJnZXJ5IFtgT1JkYXRlX3llYXJgXSBhcyB3ZSBkaXNjb3ZlcmVkIGluIFZhbiBMYW1tZXJlbiBfZXQgYWwuXyB0aGUgY29tcG9zaXRpb24gb2YgdGhlIHBsYXF1ZSBhbmQgdGhlcmVmb3JlIHRoZSBBdGhlcm8tRXhwcmVzcyBCaW9iYW5rIFN0dWR5IGhhcyBjaGFuZ2VkIG92ZXIgdGhlIHllYXJzLiBMaWtlbHkgdGhyb3VnaCBjaGFuZ2VzIGluIGxpZmVzdHlsZSBhbmQgcHJpbWFyeSBwcmV2ZW50aW9uIHJlZ2ltZXMuCgojIyBNb2RlbHMKCldlIHdpbGwgYW5hbHl6ZSB0aGUgZGF0YSB0aHJvdWdoIGZvdXIgZGlmZmVyZW50IG1vZGVscwoKLSBNb2RlbCAxOiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIGFuZCB5ZWFyIG9mIHN1cmdlcnkKLSBNb2RlbCAyOiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIHllYXIgb2Ygc3VyZ2VyeSwgYW5kIGFkZGl0aW9uYWxseSBhZGp1c3RlZCBmb3IgaGlzdG9yeSBoeXBlcnRlbnNpb24gKGRlZmluZWQgZnJvbSBtZWRpY2FsIGhpc3RvcnkgYW5kL29yIHVzZSBvZiBhbnRpaHlwZXJ0ZW5zaXZlIG1lZGljYXRpb25zKSwgZGlhYmV0ZXMgKGRlZmluZWQgYXMgaGlzdG9yeSBvZiBhIGRpYWdub3NpcyBhbmQvb3IgdXNlIG9mIGdsdWNvc2UtbG93ZXJpbmcgbWVkaWNhdGlvbnMpLCBjdXJyZW50IHNtb2tpbmcsIExETC1DIGxldmVscyBhdCB0aW1lIG9mIG9wZXJhdGlvbiwgdXNlIG9mIHN0YXRpbnMsIHVzZSBvZiBhbnRpcGxhdGVsZXQgYWdlbnRzLCBlR0ZSLCBCTUksIGhpc3Rvcnkgb2YgY2FyZGlvdmFzY3VsYXIgZGlzZWFzZSAoY29yb25hcnkgYXJ0ZXJ5IGRpc2Vhc2UsIHN0cm9rZSwgcGVyaXBoZXJhbCBhcnRlcnkgZGlzZWFzZSksIGFuZCBsZXZlbCBvZiBzdGVub3NpcyAoNTAtNzAlLCA3MC05MCUsIDkwLTk5JSkKCiMjIEEuIENyb3NzLXNlY3Rpb25hbCBhbmFseXNpcyBwbGFxdWUgcGhlbm90eXBlcwoKSW4gdGhlIGNyb3NzLXNlY3Rpb25hbCBhbmFseXNpcyBvZiBwbGFxdWUgYW5kIHBsYXNtYSBNQ1AxLCBJTDYsIGFuZCBJTDZSIGxldmVscyB3ZSB3aWxsIGZvY3VzIG9uIHRoZSBmb2xsb3dpbmcgcGxhcXVlIHZ1bG5lcmFiaWxpdHkgcGhlbm90eXBlczoKCi0gUGVyY2VudGFnZSBvZiBtYWNyb3BoYWdlcyAoY29udGludW91cyB0cmFpdCkKLSBQZXJjZW50YWdlIG9mIFNNQ3MgKGNvbnRpbnVvdXMgdHJhaXQpCi0gTnVtYmVyIG9mIGludHJhcGxhcXVlIG1pY3JvdmVzc2VscyBwZXIgMy00IGhvdHNwb3RzIChjb250aW51b3VzIHRyYWl0KQotIFByZXNlbmNlIG9mIG1vZGVyYXRlL2hlYXZ5IGNhbGNpZmljYXRpb25zIChiaW5hcnkgdHJhaXQpCi0gUHJlc2VuY2Ugb2YgbW9kZXJhdGUvaGVhdnkgY29sbGFnZW4gY29udGVudCAoYmluYXJ5IHRyYWl0KQotIFByZXNlbmNlIG9mIGxpcGlkIGNvcmUgbm8vPDEwJSB2cy4gPjEwJSAoYmluYXJ5IHRyYWl0KQotIFByZXNlbmNlIG9mIGludHJhcGxhcXVlIGhlbW9ycmhhZ2UgKGJpbmFyeSB0cmFpdCkKCipDb250aW5vdXMgdHJhaXRzKgpgYGB7ciBDcm9zc1NlYzogcGxhcXVlcyAtIHRyYW5zZm9ybWF0aW9ucyBhbmQgdmlzdWFsaXNhdGlvbnMgY29udGludW91c30KCiMgbWFjcm9waGFnZXMKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJG1hY21lYW4wKQoKbWluX21hY21lYW4gPC0gbWluKEFFREIuQ0VBJG1hY21lYW4wLCBuYS5ybSA9IFRSVUUpCmNhdChwYXN0ZTAoIlxuTWluaW11bSB2YWx1ZSAlIG1hY3JvcGhhZ2VzOiAiLG1pbl9tYWNtZWFuLCIuXG4iKSkKCkFFREIuQ0VBJE1hY3JvcGhhZ2VzX0xOIDwtIGxvZyhBRURCLkNFQSRtYWNtZWFuMCArIG1pbl9tYWNtZWFuKQoKZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1hY3JvcGhhZ2VzX0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICBhZGQgPSAibWVkaWFuIiwgCiAgICAgICAgICAgICAgICAgICAgI2FkZF9kZW5zaXR5ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICNhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICIlIG1hY3JvcGhhZ2VzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIm5hdHVyYWwgbG9nLXRyYW5zZm9ybWVkICUiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKQUVEQi5DRUEkTWFjcm9waGFnZXNfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRtYWNtZWFuMCwgbmEubGFzdCA9ICJrZWVwIikgLSAwLjUpIC8gc3VtKCFpcy5uYShBRURCLkNFQSRtYWNtZWFuMCkpKQpnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTWFjcm9waGFnZXNfcmFuayIsIAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLCAKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwgCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lZGlhbiIsIAogICAgICAgICAgICAgICAgICAgICNhZGRfZGVuc2l0eSA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiJSBtYWNyb3BoYWdlcyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLXJhbmsgbm9ybWFsaXplZCAlIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCiMgc21vb3RoIG11c2NsZSBjZWxscwpjYXQoIlN1bW1hcnkgb2YgZGF0YS5cbiIpCnN1bW1hcnkoQUVEQi5DRUEkbWFjbWVhbjApCgptaW5fc21jbWVhbiA8LSBtaW4oQUVEQi5DRUEkc21jbWVhbjAsIG5hLnJtID0gVFJVRSkKY2F0KHBhc3RlMCgiXG5NaW5pbXVtIHZhbHVlICUgc21vb3RoIG11c2NsZSBjZWxsczogIixtaW5fc21jbWVhbiwiLlxuIikpCgpBRURCLkNFQSRTTUNfTE4gPC0gbG9nKEFFREIuQ0VBJHNtY21lYW4wICsgbWluX3NtY21lYW4pCgpnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiU01DX0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICBhZGQgPSAibWVkaWFuIiwgCiAgICAgICAgICAgICAgICAgICAgI2FkZF9kZW5zaXR5ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICNhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICIlIHNtb290aCBtdXNjbGUgY2VsbHMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAibmF0dXJhbCBsb2ctdHJhbnNmb3JtZWQgJSIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpBRURCLkNFQSRTTUNfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRzbWNtZWFuMCwgbmEubGFzdCA9ICJrZWVwIikgLSAwLjUpIC8gc3VtKCFpcy5uYShBRURCLkNFQSRzbWNtZWFuMCkpKQpnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiU01DX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWRpYW4iLCAKICAgICAgICAgICAgICAgICAgICAjYWRkX2RlbnNpdHkgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgI2FkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksIAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIiUgc21vb3RoIG11c2NsZSBjZWxscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLXJhbmsgbm9ybWFsaXplZCAlIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCiMgdmVzc2VsIGRlbnNpdHkKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJHZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkKQoKbWluX3Zlc3NlbGRlbnNpdHkgPC0gbWluKEFFREIuQ0VBJHZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkLCBuYS5ybSA9IFRSVUUpCm1pbl92ZXNzZWxkZW5zaXR5CmNhdChwYXN0ZTAoIlxuTWluaW11bSB2YWx1ZSBudW1iZXIgb2YgaW50cmFwbGFxdWUgbmVvdmVzc2VscyBwZXIgMy00IGhvdHNwb3RzOiAiLG1pbl92ZXNzZWxkZW5zaXR5LCIuXG4iKSkKCkFFREIuQ0VBJFZlc3NlbERlbnNpdHlfTE4gPC0gbG9nKEFFREIuQ0VBJHZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkICsgbWluX3Zlc3NlbGRlbnNpdHkpCgpnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiVmVzc2VsRGVuc2l0eV9MTiIsIAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLCAKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwgCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lZGlhbiIsIAogICAgICAgICAgICAgICAgICAgICNhZGRfZGVuc2l0eSA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAibnVtYmVyIG9mIGludHJhcGxhcXVlIG5lb3Zlc3NlbHMgcGVyIDMtNCBob3RzcG90cyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJuYXR1cmFsIGxvZy10cmFuc2Zvcm1lZCBudW1iZXIiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKQUVEQi5DRUEkVmVzc2VsRGVuc2l0eV9yYW5rIDwtIHFub3JtKChyYW5rKEFFREIuQ0VBJHZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkLCBuYS5sYXN0ID0gImtlZXAiKSAtIDAuNSkgLyBzdW0oIWlzLm5hKEFFREIuQ0VBJHZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkKSkpCmdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJWZXNzZWxEZW5zaXR5X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWRpYW4iLCAKICAgICAgICAgICAgICAgICAgICAjYWRkX2RlbnNpdHkgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgI2FkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksIAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIm51bWJlciBvZiBpbnRyYXBsYXF1ZSBuZW92ZXNzZWxzIHBlciAzLTQgaG90c3BvdHMiLAogICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLXJhbmsgbm9ybWFsaXplZCBudW1iZXIiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQpgYGAKCipCaW5hcnkgdHJhaXRzKgpgYGB7ciBDcm9zc1NlYzogcGxhcXVlcyAtIHRyYW5zZm9ybWF0aW9ucyBhbmQgdmlzdWFsaXNhdGlvbnMgYmluYXJ5fQoKIyBjYWxjaWZpY2F0aW9uCmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSRDYWxjLmJpbikKY29udHJhc3RzKEFFREIuQ0VBJENhbGMuYmluKQoKQUVEQi5DRUEkQ2FsY2lmaWNhdGlvblBsYXF1ZSA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkQ2FsYy5iaW4pCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKENhbGNpZmljYXRpb25QbGFxdWUpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIENhbGNpZmljYXRpb25QbGFxdWUpICU+JQpzdW1tYXJpc2UoY291bnRzID0gbigpKSAKCmdncHVicjo6Z2diYXJwbG90KGRmLCB4ID0gIkNhbGNpZmljYXRpb25QbGFxdWUiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIkNhbGNpZmljYXRpb24iLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiY2FsY2lmaWNhdGlvbiIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCnJtKGRmKQoKIyBjb2xsYWdlbgpjYXQoIlN1bW1hcnkgb2YgZGF0YS5cbiIpCnN1bW1hcnkoQUVEQi5DRUEkQ29sbGFnZW4uYmluKQpjb250cmFzdHMoQUVEQi5DRUEkQ29sbGFnZW4uYmluKQoKQUVEQi5DRUEkQ29sbGFnZW5QbGFxdWUgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJENvbGxhZ2VuLmJpbikKCmRmIDwtIEFFREIuQ0VBICU+JQogIGZpbHRlcighaXMubmEoQ29sbGFnZW5QbGFxdWUpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIENvbGxhZ2VuUGxhcXVlKSAlPiUKc3VtbWFyaXNlKGNvdW50cyA9IG4oKSkgCgpnZ3B1YnI6OmdnYmFycGxvdChkZiwgeCA9ICJDb2xsYWdlblBsYXF1ZSIsIHkgPSAiY291bnRzIiwKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFRSVUUsIGxhYi52anVzdCA9IDIsIGxhYi5jb2wgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiQ29sbGFnZW4iLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiY29sbGFnZW4iLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQpybShkZikKCiMgZmF0IDEwJQpjYXQoIlN1bW1hcnkgb2YgZGF0YS5cbiIpCnN1bW1hcnkoQUVEQi5DRUEkRmF0LmJpbl8xMCkKY29udHJhc3RzKEFFREIuQ0VBJEZhdC5iaW5fMTApCgpBRURCLkNFQSRGYXQxMFBlcmMgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJEZhdC5iaW5fMTApCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKEZhdDEwUGVyYykpICU+JQogIGdyb3VwX2J5KEdlbmRlciwgRmF0MTBQZXJjKSAlPiUKc3VtbWFyaXNlKGNvdW50cyA9IG4oKSkgCgpnZ3B1YnI6OmdnYmFycGxvdChkZiwgeCA9ICJGYXQxMFBlcmMiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIkludHJhcGxhcXVlIGZhdCIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnRyYXBsYXF1ZSBmYXQiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQpybShkZikKCiMgbWFjcm9waGFnZXMgYmlubmVkCmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSRNYWNyb3BoYWdlcy5iaW4pCmNvbnRyYXN0cyhBRURCLkNFQSRNYWNyb3BoYWdlcy5iaW4pCgpBRURCLkNFQSRNQUNfYmlubmVkIDwtIGFzLmZhY3RvcihBRURCLkNFQSRNYWNyb3BoYWdlcy5iaW4pCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKE1BQ19iaW5uZWQpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIE1BQ19iaW5uZWQpICU+JQpzdW1tYXJpc2UoY291bnRzID0gbigpKSAKCmdncHVicjo6Z2diYXJwbG90KGRmLCB4ID0gIk1BQ19iaW5uZWQiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1hY3JvcGhhZ2VzIChiaW5uZWQpIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIk1hY3JvcGhhZ2VzIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgojIG1hY3JvcGhhZ2VzIGdyb3VwZWQKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpBRURCLkNFQSRtYWNyb3BoYWdlcyA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkbWFjcm9waGFnZXMpCnN1bW1hcnkoQUVEQi5DRUEkbWFjcm9waGFnZXMpCmNvbnRyYXN0cyhBRURCLkNFQSRtYWNyb3BoYWdlcykKCkFFREIuQ0VBJE1BQ19ncm91cGVkIDwtIGFzLmZhY3RvcihBRURCLkNFQSRtYWNyb3BoYWdlcykKCmRmIDwtIEFFREIuQ0VBICU+JQogIGZpbHRlcighaXMubmEoTUFDX2dyb3VwZWQpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIE1BQ19ncm91cGVkKSAlPiUKc3VtbWFyaXNlKGNvdW50cyA9IG4oKSkgCgpnZ3B1YnI6OmdnYmFycGxvdChkZiwgeCA9ICJNQUNfZ3JvdXBlZCIsIHkgPSAiY291bnRzIiwKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFRSVUUsIGxhYi52anVzdCA9IDIsIGxhYi5jb2wgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTWFjcm9waGFnZXMgKGdyb3VwZWQpIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIk1hY3JvcGhhZ2VzIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgojIFNNQyBiaW5uZWQKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJFNNQy5iaW4pCmNvbnRyYXN0cyhBRURCLkNFQSRTTUMuYmluKQoKQUVEQi5DRUEkU01DX2Jpbm5lZCA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkU01DLmJpbikKCmRmIDwtIEFFREIuQ0VBICU+JQogIGZpbHRlcighaXMubmEoU01DX2Jpbm5lZCkpICU+JQogIGdyb3VwX2J5KEdlbmRlciwgU01DX2Jpbm5lZCkgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiU01DX2Jpbm5lZCIsIHkgPSAiY291bnRzIiwKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFRSVUUsIGxhYi52anVzdCA9IDIsIGxhYi5jb2wgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiU01DIChiaW5uZWQpIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIlNNQyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCnJtKGRmKQoKIyBTTUMgZ3JvdXBlZApjYXQoIlN1bW1hcnkgb2YgZGF0YS5cbiIpCkFFREIuQ0VBJHNtYyA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkc21jKQpzdW1tYXJ5KEFFREIuQ0VBJHNtYykKY29udHJhc3RzKEFFREIuQ0VBJHNtYykKCkFFREIuQ0VBJFNNQ19ncm91cGVkIDwtIGFzLmZhY3RvcihBRURCLkNFQSRzbWMpCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKFNNQ19ncm91cGVkKSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBTTUNfZ3JvdXBlZCkgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiU01DX2dyb3VwZWQiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIlNNQyAoZ3JvdXBlZCkiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU01DIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgoKIyBJUEgKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJElQSC5iaW4pCmNvbnRyYXN0cyhBRURCLkNFQSRJUEguYmluKQoKQUVEQi5DRUEkSVBIIDwtIGFzLmZhY3RvcihBRURCLkNFQSRJUEguYmluKQoKZGYgPC0gQUVEQi5DRUEgJT4lCiAgZmlsdGVyKCFpcy5uYShJUEgpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIElQSCkgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiSVBIIiwgeSA9ICJjb3VudHMiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgbGFiLnZqdXN0ID0gMiwgbGFiLmNvbCA9ICIjRkZGRkZGIiwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJJbnRyYXBsYXF1ZSBoZW1vcnJoYWdlIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImludHJhcGxhcXVlIGhlbW9ycmhhZ2UiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQpybShkZikKCiMgU3ltcHRvbXMKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJEFzeW1wdFN5bXB0KQpjb250cmFzdHMoQUVEQi5DRUEkQXN5bXB0U3ltcHQpCgpBRURCLkNFQSRBc3ltcHRTeW1wdCA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkQXN5bXB0U3ltcHQpCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKEFzeW1wdFN5bXB0KSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBBc3ltcHRTeW1wdCkgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiQXN5bXB0U3ltcHQiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIlN5bXB0b21zIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gInN5bXB0b21zIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgpgYGAKCiMjIyMgQ29ycmVsYXRpb25zIGJldHdlZW4gTUNQMSBwbGFxdWUgbGV2ZWxzIGFuZCBzdXJnZXJ5IHllYXIKCkhlcmUgd2UgY29tcGFyZSB0aGUgTUNQMSBwbGFxdWUgbGV2ZWxzIGZyb20gZXhwZXJpbWVudCAxIHdpdGggdGhvc2UgZXhwZXJpbWVudCAyLiBUaGUgbGF0dGVyIHdlIG1lYXN1cmVkIGluIHBnL21MIGFuZCBhbHNvIGNvcnJlY3RlZCBmb3IgdGhlIHRvdGFsIHByb3RlaW4gY29udGVudCAocGcvdWcpLgoKYGBge3IgTUNQMSBzY2F0dGVyczogeWVhciBvZiBzdXJnZXJ5fQpwMSA8LSBnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAiT1J5ZWFyIiwgCiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJ5ZWFyIG9mIHN1cmdlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5ULCBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAxIAoKcDIgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk9SeWVhciIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJ5ZWFyIG9mIHN1cmdlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMiwgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5ULCBbcGcvbUxdL1twZy91Z10iLAogICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDIgCgpwMyA8LSBnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAiT1J5ZWFyIiwgCiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLAogICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLAogICAgICAgICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLAogICAgICAgICAgICAgICAgICAgICAgICBjb3IuY29lZiA9IFRSVUUsIGNvci5tZXRob2QgPSAic3BlYXJtYW4iLAogICAgICAgICAgICAgICAgICAgICAgICB4bGFiID0gInllYXIgb2Ygc3VyZ2VyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHlsYWIgPSAiZXhwZXJpbWVudCAyLCBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzLCBJTlQiLAogICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDMKCmBgYApJbiB0aGlzIHNlY3Rpb24gd2UgbWFrZSBzb21lIHZhcmlhYmxlcyB0byBhc3Npc3Qgd2l0aCBhbmFseXNpcy4KYGBge3IgQ3Jvc3NTZWM6IHBsYXF1ZXMgLSBzZXR1cCByZWdyZXNzaW9uIH0KQUVEQi5DRUEuc2FtcGxlc2l6ZSA9IG5yb3coQUVEQi5DRUEpCiMgVFJBSVRTLlBST1RFSU4gPSBjKCJJTDZfTE4iLCAiTUNQMV9MTiIsICJJTDZfcGdfdWdfMjAxNV9MTiIsICJJTDZSX3BnX3VnXzIwMTVfTE4iLCAiTUNQMV9wZ191Z18yMDE1X0xOIikKIyBUUkFJVFMuUFJPVEVJTi5SQU5LID0gYygiSUw2X3JhbmsiLCAiTUNQMV9yYW5rIiwgIklMNl9wZ191Z18yMDE1X3JhbmsiLCAiSUw2Ul9wZ191Z18yMDE1X3JhbmsiLCAiTUNQMV9wZ191Z18yMDE1X3JhbmsiKQojIFRSQUlUUy5QUk9URUlOLlJBTksgPSBjKCJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsICJNQ1AxX3JhbmsiKQpUUkFJVFMuUFJPVEVJTi5SQU5LID0gYygiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAiTUNQMV9wZ19tbF8yMDE1X3JhbmsiLCAiTUNQMV9yYW5rIikKCiMgVFJBSVRTLkNPTiA9IGMoIk1hY3JvcGhhZ2VzX0xOIiwgIlNNQ19MTiIsICJWZXNzZWxEZW5zaXR5X0xOIikKIyBUUkFJVFMuQ09OLlJBTksgPSBjKCJNYWNyb3BoYWdlc19yYW5rIikKVFJBSVRTLkNPTi5SQU5LID0gYygiTWFjcm9waGFnZXNfcmFuayIsICJTTUNfcmFuayIsICJWZXNzZWxEZW5zaXR5X3JhbmsiKQoKIyBUUkFJVFMuQklOID0gYygiTUFDX2Jpbm5lZCIpClRSQUlUUy5CSU4gPSBjKCJDYWxjaWZpY2F0aW9uUGxhcXVlIiwgIkNvbGxhZ2VuUGxhcXVlIiwgIkZhdDEwUGVyYyIsICJJUEgiLAogICAgICAgICAgICAgICAiTUFDX2Jpbm5lZCIsICJTTUNfYmlubmVkIikKCgojICJIb3NwaXRhbCIsIAojICJBZ2UiLCAiR2VuZGVyIiwgCiMgIlRDX2ZpbmFsIiwgIkxETF9maW5hbCIsICJIRExfZmluYWwiLCAiVEdfZmluYWwiLCAKIyAic3lzdG9saWMiLCAiZGlhc3RvbGkiLCAiR0ZSX01EUkQiLCAiQk1JIiwgCiMgIktET1FJIiwgIkJNSV9XSE8iLAojICJTbW9rZXJDdXJyZW50IiwgImVDaWdhcmV0dGVzIiwgImVQYWNrWWVhcnNTbW9raW5nIiwKIyAiRGlhYmV0ZXNTdGF0dXMiLCAiSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSIsIAojICJIeXBlcnRlbnNpb24uZHJ1Z3MiLCAiTWVkLmFudGljb2FndWxhbnRzIiwgIk1lZC5hbGwuYW50aXBsYXRlbGV0IiwgIk1lZC5TdGF0aW4uTExEIiwgCiMgIlN0cm9rZV9EeCIsICJzeW1wdCIsICJTeW1wdG9tcy41RyIsICJyZXN0ZW5vcyIsCiMgIkVQX2NvbXBvc2l0ZSIsICJFUF9jb21wb3NpdGVfdGltZSIsCiMgIm1hY21lYW4wIiwgInNtY21lYW4wIiwgIk1hY3JvcGhhZ2VzLmJpbiIsICJTTUMuYmluIiwKIyAibmV1dHJvcGhpbHMiLCAiTWFzdF9jZWxsc19wbGFxdWUiLAojICJJUEguYmluIiwgInZlc3NlbF9kZW5zaXR5X2F2ZXJhZ2VkIiwKIyAiQ2FsYy5iaW4iLCAiQ29sbGFnZW4uYmluIiwgCiMgIkZhdC5iaW5fMTAiLCAiRmF0LmJpbl80MCIsICJPdmVyYWxsUGxhcXVlUGhlbm90eXBlIiwKIyAiSUw2X3BnX3VnXzIwMTUiLCAiTUNQMV9wZ191Z18yMDE1IiwgCiMgIlFDMjAxOF9GSUxURVIiLCAiQ0hJUCIsICJTQU1QTEVfVFlQRSIsCiMgIkNBRF9oaXN0b3J5IiwgIlN0cm9rZV9oaXN0b3J5IiwgIlBlcmlwaGVyYWwuaW50ZXJ2IiwKIyAic3Rlbm9zZSIKCiMgMS4gIEFnZSAoY29udGludW91cyBpbiAxLXllYXIgaW5jcmVtZW50KS4gW0FnZV0KIyAyLiAgU2V4IChtYWxlIHZzLiBmZW1hbGUpLiBbR2VuZGVyXQojIDMuICBQcmVzZW5jZSBvZiBoeXBlcnRlbnNpb24gYXQgYmFzZWxpbmUgKGRlZmluZWQgZWl0aGVyIGFzIGhpc3Rvcnkgb2YgaHlwZXJ0ZW5zaW9uLCBTQlAg4omlMTQwIG1tIEhnLCBEQlAg4omlOTAgbW0gSGcsIG9yIHByZXNjcmlwdGlvbiBvZiBhbnRpaHlwZXJ0ZW5zaXZlIG1lZGljYXRpb25zKS4gW0h5cGVydGVuc2lvbi5jb21wb3NpdGVdCiMgNC4gIFByZXNlbmNlIG9mIGRpYWJldGVzIG1lbGxpdHVzIGF0IGJhc2VsaW5lIChkZWZpbmVkIGVpdGhlciBhcyBhIGhpc3Rvcnkgb2YgZGlhYmV0ZXMsIGFkbWluaXN0cmF0aW9uIG9mIGdsdWNvc2UgbG93ZXJpbmcgbWVkaWNhdGlvbiwgSGJBMWMg4omlNi41JSwgZmFzdGluZyBnbHVjb3NlIOKJpTEyNiBtZy9kbCwgLm9yIHJhbmRvbSBnbHVjb3NlIGxldmVscyDiiaUyMDAgbWcvZGwpLiBbRGlhYmV0ZXNTdGF0dXNdCiMgNS4gIFNtb2tpbmcgKGN1cnJlbnQsIGV4LSwgbmV2ZXIpLiBbU21va2VyQ3VycmVudF0KIyA2LiAgTERMLUMgbGV2ZWxzIChjb250aW51b3VzKS4gW0xETF9maW5hbF0KIyA3LiAgVXNlIG9mIGxpcGlkLWxvd2VyaW5nIGRydWdzLiBbTWVkLlN0YXRpbi5MTERdCiMgOC4gIFVzZSBvZiBhbnRpcGxhdGVsZXQgZHJ1Z3MuIFtNZWQuYWxsLmFudGlwbGF0ZWxldF0KIyA5LiAgZUdGUiAoY29udGludW91cykuIFtHRlJfTURSRF0KIyAxMC4JQk1JIChjb250aW51b3VzKS4gW0JNSV0KIyAxMS4JSGlzdG9yeSBvZiBjYXJkaW92YXNjdWxhciBkaXNlYXNlIChzdHJva2UsIGNvcm9uYXJ5IGFydGVyeSBkaXNlYXNlLCBwZXJpcGhlcmFsIGFydGVyeSBkaXNlYXNlKS4gW01lZEh4X0NWRF0gY29tYmluYXRpbm8gb2Y6IFtDQURfaGlzdG9yeSwgU3Ryb2tlX2hpc3RvcnksIFBlcmlwaGVyYWwuaW50ZXJ2XQojIDEyLglMZXZlbCBvZiBzdGVub3NpcyAoNTAtNzAlIHZzLiA3MC05OSUpLiBbc3Rlbm9zZV0KCiMgTW9kZWxzIAojIE1vZGVsIDE6IGFkanVzdGVkIGZvciBhZ2UgYW5kIHNleAojIE1vZGVsIDI6IGFkanVzdGVkIGZvciBhZ2UsIHNleCwgaHlwZXJ0ZW5zaW9uLCBkaWFiZXRlcywgc21va2luZywgTERMLUMgbGV2ZWxzLCBsaXBpZC1sb3dlcmluZyBkcnVncywgYW50aXBsYXRlbGV0IGRydWdzLCBlR0ZSLCBCTUksIGhpc3Rvcnkgb2YgQ1ZELCBsZXZlbCBvZiBzdGVub3NpcywKCkFFREIuQ0VBJE9SZGF0ZV9lcG9jaCA8LSBhcy5udW1lcmljKEFFREIuQ0VBJGRhdGVvaykKQUVEQi5DRUEkT1JkYXRlX3llYXIgPC0gYXNfZmFjdG9yKHllYXIoQUVEQi5DRUEkZGF0ZW9rKSkKQ09WQVJJQVRFU19NMSA9IGMoIkFnZSIsICJHZW5kZXIiLCAiT1JkYXRlX3llYXIiKQojIENPVkFSSUFURVNfTTEgPSBjKCJBZ2UiLCAiR2VuZGVyIiwgIk9SZGF0ZV9lcG9jaCIpCgpDT1ZBUklBVEVTX00yID0gYyhDT1ZBUklBVEVTX00xLCAgCiAgICAgICAgICAgICAgICJIeXBlcnRlbnNpb24uY29tcG9zaXRlIiwgIkRpYWJldGVzU3RhdHVzIiwgCiAgICAgICAgICAgICAgICJTbW9rZXJTdGF0dXMiLCAKICAgICAgICAgICAgICAgIyAiU21va2VyQ3VycmVudCIsCiAgICAgICAgICAgICAgICJNZWQuU3RhdGluLkxMRCIsICJNZWQuYWxsLmFudGlwbGF0ZWxldCIsIAogICAgICAgICAgICAgICAiR0ZSX01EUkQiLCAiQk1JIiwgCiAgICAgICAgICAgICAgICMgIkNBRF9oaXN0b3J5IiwgIlN0cm9rZV9oaXN0b3J5IiwgIlBlcmlwaGVyYWwuaW50ZXJ2IiwgCiAgICAgICAgICAgICAgICJNZWRIeF9DVkQiLAogICAgICAgICAgICAgICAic3Rlbm9zZSIpCgojIENPVkFSSUFURVNfTTMgPSBjKENPVkFSSUFURVNfTTIsICJMRExfZmluYWwiKQoKIyBDT1ZBUklBVEVTX000ID0gYyhDT1ZBUklBVEVTX00yLCAiaHNDUlBfcGxhc21hIikKCiMgQ09WQVJJQVRFU19NNSA9IGMoQ09WQVJJQVRFU19NMiwgIklMNl9wZ191Z18yMDE1X0xOIikKIyBDT1ZBUklBVEVTX001cmFuayA9IGMoQ09WQVJJQVRFU19NMiwgIklMNl9wZ191Z18yMDE1X3JhbmsiKQoKYGBgCgojIyMgTW9kZWwgMQoKSW4gdGhpcyBtb2RlbCB3ZSBjb3JyZWN0IGZvciBfQWdlXywgX0dlbmRlcl8sIGFuZCBfeWVhciBvZiBzdXJnZXJ5Xy4KCkhlcmUgd2UgdXNlIHRoZSBpbnZlcnNlLXJhbmsgbm9ybWFsaXplZCBkYXRhIC0gdmlzdWFsbHkgdGhpcyBpcyBtb3JlIG5vcm1hbGx5IGRpc3RyaWJ1dGVkLgoKIyMjIyBRdWFudGl0YXRpdmUgcGxhcXVlIHRyYWl0cwoKQW5hbHlzaXMgb2YgY29udGludW91cy9xdWFudGl0YXRpdmUgcGxhcXVlIHRyYWl0cyBhcyBhIGZ1bmN0aW9uIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMuCmBgYHtyIENyb3NzU2VjOiBwbGFxdWVzIC0gbGluZWFyIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KCkdMTS5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTUsIG5yb3cgPSAwKSkKY2F0KCJSdW5uaW5nIGxpbmVhciByZWdyZXNzaW9uLi4uXG4iKQpmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSykpIHsKICBQUk9URUlOID0gVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXQogIGNhdChwYXN0ZTAoIlxuQW5hbHlzaXMgb2YgIixQUk9URUlOLCIuXG4iKSkKICBmb3IgKHRyYWl0IGluIDE6bGVuZ3RoKFRSQUlUUy5DT04uUkFOSykpIHsKICAgIFRSQUlUID0gVFJBSVRTLkNPTi5SQU5LW3RyYWl0XQogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTEpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyMjIHVuaXZhcmlhdGUKICAgIGZpdCA8LSBsbShjdXJyZW50REZbLFBST1RFSU5dIH4gY3VycmVudERGWyxUUkFJVF0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciwgZGF0YSA9IGN1cnJlbnRERikKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCgogICAgR0xNLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE1LCBucm93ID0gMCkpCiAgICBHTE0ucmVzdWx0cy5URU1QWzEsXSA9IEdMTS5DT04oZml0LCAiQUVEQi5DRUEiLCBQUk9URUlOLCBUUkFJVCwgdmVyYm9zZSA9IFRSVUUpCiAgICBHTE0ucmVzdWx0cyA9IHJiaW5kKEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QKQogIH0KfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiVC12YWx1ZSIsICJQLXZhbHVlIiwgInJeMiIsICJyXjJfYWRqIiwgIkFFX04iLCAiTW9kZWxfTiIsICJQZXJjX01pc3MiKQoKY2F0KCJDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKR0xNLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJEJldGEpCkdMTS5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHMuZS5tLikKR0xNLnJlc3VsdHMkT1IgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRPUikKR0xNLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGxvdzk1Q0kpCkdMTS5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHVwOTVDSSkKR0xNLnJlc3VsdHMkYFQtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFQtdmFsdWVgKQpHTE0ucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUC12YWx1ZWApCkdMTS5yZXN1bHRzJGByXjJgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMmApCkdMTS5yZXN1bHRzJGByXjJfYWRqYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfYWRqYCkKR0xNLnJlc3VsdHMkYEFFX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYEFFX05gKQpHTE0ucmVzdWx0cyRgTW9kZWxfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgTW9kZWxfTmApCkdMTS5yZXN1bHRzJGBQZXJjX01pc3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2ApCgojIFNhdmUgdGhlIGRhdGEKY2F0KCJXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKIyMjIFVuaXZhcmlhdGUKbGlicmFyeShvcGVueGxzeCkKd3JpdGUueGxzeChHTE0ucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNvbi5VbmkuUHJvdGVpbi5QbGFxdWVQaGVub3R5cGVzLlJBTksuTU9ERUwxLnhsc3giKSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgc2hlZXROYW1lID0gIkNvbi5VbmkuUGxhcXVlUGhlbm8iKQojIFJlbW92aW5nIGludGVybWVkaWF0ZXMKY2F0KCJSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRSQUlULCB0cmFpdCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKCmBgYAoKIyMjIyBCaW5hcnkgcGxhcXVlIHRyYWl0cwoKQW5hbHlzaXMgb2YgYmluYXJ5IHBsYXF1ZSB0cmFpdHMgYXMgYSBmdW5jdGlvbiBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzLgpgYGB7ciBDcm9zc1NlYzogcGxhcXVlcyAtIGxvZ2lzdGljIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KCkdMTS5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgZm9yICh0cmFpdCBpbiAxOmxlbmd0aChUUkFJVFMuQklOKSkgewogICAgVFJBSVQgPSBUUkFJVFMuQklOW3RyYWl0XQogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTEpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyBwcmludChjbGFzcyhjdXJyZW50REZbLFRSQUlUXSkpCiAgICAjIyMgdW5pdmFyaWF0ZQogICAgZml0IDwtIGdsbShhcy5mYWN0b3IoY3VycmVudERGWyxUUkFJVF0pIH4gY3VycmVudERGWyxQUk9URUlOXSArIEFnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyLAogICAgICAgICAgICAgIGRhdGEgID0gIGN1cnJlbnRERiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICJsb2dpdCIpKQogICAgbW9kZWxfc3RlcCA8LSBzdGVwQUlDKGZpdCwgZGlyZWN0aW9uID0gImJvdGgiLCB0cmFjZSA9IEZBTFNFKQogICAgcHJpbnQobW9kZWxfc3RlcCkKICAgIHByaW50KHN1bW1hcnkoZml0KSkKICAgIAogICAgR0xNLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE2LCBucm93ID0gMCkpCiAgICBHTE0ucmVzdWx0cy5URU1QWzEsXSA9IEdMTS5CSU4oZml0LCAiQUVEQi5DRUEiLCBQUk9URUlOLCBUUkFJVCwgdmVyYm9zZSA9IFRSVUUpCiAgICBHTE0ucmVzdWx0cyA9IHJiaW5kKEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QKQogIH0KfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgInJeMl9sIiwgInJeMl9jcyIsICJyXjJfbmFnZWxrZXJrZSIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBaLXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yX2xgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9sYCkKR0xNLnJlc3VsdHMkYHJeMl9jc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2NzYCkKR0xNLnJlc3VsdHMkYHJeMl9uYWdlbGtlcmtlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCgojIyMgVW5pdmFyaWF0ZQp3cml0ZS54bHN4KEdMTS5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQmluLlVuaS5Qcm90ZWluLlBsYXF1ZVBoZW5vdHlwZXMuUkFOSy5NT0RFTDEueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQmluLlVuaS5QbGFxdWVQaGVubyIpCgojIFJlbW92aW5nIGludGVybWVkaWF0ZXMKY2F0KCJSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRSQUlULCB0cmFpdCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKYGBgCgoKIyMjIE1vZGVsIDIKCkluIHRoaXMgbW9kZWwgd2UgY29ycmVjdCBmb3IgX0FnZV8sIF9HZW5kZXJfLCBfeWVhciBvZiBzdXJnZXJ5XywgX0h5cGVydGVuc2lvbiBzdGF0dXNfLCBfRGlhYmV0ZXMgc3RhdHVzXywgX2N1cnJlbnQgc21va2VyIHN0YXR1c18sIF9saXBpZC1sb3dlcmluZyBkcnVncyAoTExEcylfLCBfYW50aXBsYXRlbGV0IG1lZGljYXRpb25fLCBfZUdGUiAoTURSRClfLCBfQk1JXywgX01lZEh4X0NWRF8gKGNvbWJpbmF0aW9uIG9mIF9DQUQgaGlzdG9yeV8sIF9zdHJva2UgaGlzdG9yeV8sIGFuZCBfcGVyaXBoZXJhbCBpbnRlcnZlbnRpb25zXyksIGFuZCBfc3Rlbm9zaXNfLgoKSGVyZSB3ZSB1c2UgdGhlIGludmVyc2UtcmFuayBub3JtYWxpemVkIGRhdGEgLSB2aXN1YWxseSB0aGlzIGlzIG1vcmUgbm9ybWFsbHkgZGlzdHJpYnV0ZWQuCgojIyMjIFF1YW50aXRhdGl2ZSBwbGFxdWUgdHJhaXRzCgpBbmFseXNpcyBvZiBjb250aW51b3VzL3F1YW50aXRhdGl2ZSBwbGFxdWUgdHJhaXRzIGFzIGEgZnVuY3Rpb24gb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscy4KYGBge3IgQ3Jvc3NTZWM6IHBsYXF1ZXMgLSBsaW5lYXIgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQpjYXQoIlJ1bm5pbmcgbGluZWFyIHJlZ3Jlc3Npb24uLi5cbiIpCmZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSkgewogIFBST1RFSU4gPSBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dCiAgY2F0KHBhc3RlMCgiXG5BbmFseXNpcyBvZiAiLFBST1RFSU4sIi5cbiIpKQogIGZvciAodHJhaXQgaW4gMTpsZW5ndGgoVFJBSVRTLkNPTi5SQU5LKSkgewogICAgVFJBSVQgPSBUUkFJVFMuQ09OLlJBTktbdHJhaXRdCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMikgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIyMgdW5pdmFyaWF0ZQogICAgZml0IDwtIGxtKGN1cnJlbnRERlssUFJPVEVJTl0gfiBjdXJyZW50REZbLFRSQUlUXSArIEFnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgCiAgICAgICAgICAgICAgICBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyAKICAgICAgICAgICAgICAgIE1lZC5TdGF0aW4uTExEICsgTWVkLmFsbC5hbnRpcGxhdGVsZXQgKyBHRlJfTURSRCArIEJNSSArIAogICAgICAgICAgICAgICAgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgCiAgICAgICAgICAgICAgZGF0YSA9IGN1cnJlbnRERikKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgIEdMTS5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQogICAgR0xNLnJlc3VsdHMuVEVNUFsxLF0gPSBHTE0uQ09OKGZpdCwgIkFFREIuQ0VBIiwgUFJPVEVJTiwgVFJBSVQsIHZlcmJvc2UgPSBUUlVFKQogICAgR0xNLnJlc3VsdHMgPSByYmluZChHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCkKICB9Cn0KY2F0KCJFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKEdMTS5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiUHJlZGljdG9yIiwgIlRyYWl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJPUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlQtdmFsdWUiLCAiUC12YWx1ZSIsICJyXjIiLCAicl4yX2FkaiIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBULXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBULXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJgKQpHTE0ucmVzdWx0cyRgcl4yX2FkamAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2FkamApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCiMjIyBVbml2YXJpYXRlCmxpYnJhcnkob3Blbnhsc3gpCndyaXRlLnhsc3goR0xNLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db24uTXVsdGkuUHJvdGVpbi5QbGFxdWVQaGVub3R5cGVzLlJBTksuTU9ERUwyLnhsc3giKSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgc2hlZXROYW1lID0gIkNvbi5NdWx0aS5QbGFxdWVQaGVubyIpCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIlJlbW92aW5nIGludGVybWVkaWF0ZSBmaWxlcy4uLlxuIikKcm0oVFJBSVQsIHRyYWl0LCBjdXJyZW50REYsIEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QLCBmaXQsIG1vZGVsX3N0ZXApCgoKYGBgCgojIyMjIEJpbmFyeSBwbGFxdWUgdHJhaXRzCgpBbmFseXNpcyBvZiBiaW5hcnkgcGxhcXVlIHRyYWl0cyBhcyBhIGZ1bmN0aW9uIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMuCmBgYHtyIENyb3NzU2VjOiBwbGFxdWVzIC0gbG9naXN0aWMgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQpmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSykpIHsKICBQUk9URUlOID0gVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXQogIGNhdChwYXN0ZTAoIlxuQW5hbHlzaXMgb2YgIixQUk9URUlOLCIuXG4iKSkKICBmb3IgKHRyYWl0IGluIDE6bGVuZ3RoKFRSQUlUUy5CSU4pKSB7CiAgICBUUkFJVCA9IFRSQUlUUy5CSU5bdHJhaXRdCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMikgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMjIyB1bml2YXJpYXRlCiAgICBmaXQgPC0gZ2xtKGFzLmZhY3RvcihjdXJyZW50REZbLFRSQUlUXSkgfiBjdXJyZW50REZbLFBST1RFSU5dICsgQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyAKICAgICAgICAgICAgICAgIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlclN0YXR1cyArIAogICAgICAgICAgICAgICAgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgCiAgICAgICAgICAgICAgICBNZWRIeF9DVkQgKyBzdGVub3NlLCAKICAgICAgICAgICAgICBkYXRhICA9ICBjdXJyZW50REYsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAibG9naXQiKSkKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgIEdMTS5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQogICAgR0xNLnJlc3VsdHMuVEVNUFsxLF0gPSBHTE0uQklOKGZpdCwgIkFFREIuQ0VBIiwgUFJPVEVJTiwgVFJBSVQsIHZlcmJvc2UgPSBUUlVFKQogICAgR0xNLnJlc3VsdHMgPSByYmluZChHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCkKICB9Cn0KY2F0KCJFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKEdMTS5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiUHJlZGljdG9yIiwgIlRyYWl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJPUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJyXjJfbCIsICJyXjJfY3MiLCAicl4yX25hZ2Vsa2Vya2UiLCAiQUVfTiIsICJNb2RlbF9OIiwgIlBlcmNfTWlzcyIpCgpjYXQoIkNvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpHTE0ucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkQmV0YSkKR0xNLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkcy5lLm0uKQpHTE0ucmVzdWx0cyRPUiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJE9SKQpHTE0ucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkbG93OTVDSSkKR0xNLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkdXA5NUNJKQpHTE0ucmVzdWx0cyRgWi12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgWi12YWx1ZWApCkdMTS5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQLXZhbHVlYCkKR0xNLnJlc3VsdHMkYHJeMl9sYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbGApCkdMTS5yZXN1bHRzJGByXjJfY3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9jc2ApCkdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX25hZ2Vsa2Vya2VgKQpHTE0ucmVzdWx0cyRgQUVfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgQUVfTmApCkdMTS5yZXN1bHRzJGBNb2RlbF9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBNb2RlbF9OYCkKR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCkKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIldyaXRpbmcgcmVzdWx0cyB0byBFeGNlbC1maWxlLi4uXG4iKQoKIyMjIFVuaXZhcmlhdGUKd3JpdGUueGxzeChHTE0ucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkJpbi5NdWx0aS5Qcm90ZWluLlBsYXF1ZVBoZW5vdHlwZXMuUkFOSy5NT0RFTDIueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQmluLk11bHRpLlBsYXF1ZVBoZW5vIikKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIlJlbW92aW5nIGludGVybWVkaWF0ZSBmaWxlcy4uLlxuIikKcm0oVFJBSVQsIHRyYWl0LCBjdXJyZW50REYsIEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QLCBmaXQsIG1vZGVsX3N0ZXApCgpgYGAKCgojIyBCLiBDcm9zcy1zZWN0aW9uYWwgYW5hbHlzaXMgc3ltcHRvbXMKCldlIHdpbGwgcGVyZm9ybSBhIGNyb3NzLXNlY3Rpb25hbCBhbmFseXNpcyBiZXR3ZWVuIHBsYXF1ZSBhbmQgcGxhc21hIE1DUDEsIElMNiwgYW5kIElMNlIgbGV2ZWxzIGFuZCB0aGUgJ2NsaW5pY2FsIHN0YXR1cycgb2YgdGhlIHBsYXF1ZSBpbiB0ZXJtcyBvZiBwcmVzZW5jZSBvZiBwYXRpZW50cycgc3ltcHRvbXMgKHN5bXB0b21hdGljIHZzLiBhc3ltcHRvbWF0aWMpLiBUaGUgc3ltcHRvbXMgb2YgaW50ZXJlc3QgYXJlOgoKLSBzdHJva2UKLSBUSUEKLSByZXRpbmFsIGluZmFyY3Rpb24KLSBhbWF1cm9zaXMgZnVnYXgKLSBhc3ltcHRvbWF0aWMKCiMjIyBNb2RlbCAxCgpJbiB0aGlzIG1vZGVsIHdlIGNvcnJlY3QgZm9yIF9BZ2VfLCBfR2VuZGVyXywgYW5kIF95ZWFyIG9mIHN1cmdlcnlfLgoKCmBgYHtyIENyb3NzU2VjOiBzeW1wdG9tcyAtIGxvZ2lzdGljIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KCkdMTS5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgVFJBSVQgPSAiQXN5bXB0U3ltcHQiCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMSkgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMjIyB1bml2YXJpYXRlCiAgICAgIyArIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlckN1cnJlbnQgKyAKICAgICAjICAgICAgICAgICAgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgCiAgICAgIyAgICAgICAgICAgIENBRF9oaXN0b3J5ICsgU3Ryb2tlX2hpc3RvcnkgKyBQZXJpcGhlcmFsLmludGVydiArIHN0ZW5vc2UKICAgIGZpdCA8LSBnbG0oYXMuZmFjdG9yKGN1cnJlbnRERlssVFJBSVRdKSB+IGN1cnJlbnRERlssUFJPVEVJTl0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciwgCiAgICAgICAgICAgICAgZGF0YSAgPSAgY3VycmVudERGLCBmYW1pbHkgPSBiaW5vbWlhbChsaW5rID0gImxvZ2l0IikpCiAgICBtb2RlbF9zdGVwIDwtIHN0ZXBBSUMoZml0LCBkaXJlY3Rpb24gPSAiYm90aCIsIHRyYWNlID0gRkFMU0UpCiAgICBwcmludChtb2RlbF9zdGVwKQogICAgcHJpbnQoc3VtbWFyeShmaXQpKQogICAgCiAgICBHTE0ucmVzdWx0cy5URU1QIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKICAgIEdMTS5yZXN1bHRzLlRFTVBbMSxdID0gR0xNLkJJTihmaXQsICJBRURCLkNFQSIsIFBST1RFSU4sIFRSQUlULCB2ZXJib3NlID0gVFJVRSkKICAgIEdMTS5yZXN1bHRzID0gcmJpbmQoR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVApCiAgfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgInJeMl9sIiwgInJeMl9jcyIsICJyXjJfbmFnZWxrZXJrZSIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBaLXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yX2xgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9sYCkKR0xNLnJlc3VsdHMkYHJeMl9jc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2NzYCkKR0xNLnJlc3VsdHMkYHJeMl9uYWdlbGtlcmtlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCgojIyMgVW5pdmFyaWF0ZQp3cml0ZS54bHN4KEdMTS5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQmluLlVuaS5Qcm90ZWluLlJBTksuU3ltcHRvbXMuTU9ERUwxLnhsc3giKSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgc2hlZXROYW1lID0gIkJpbi5VbmkuU3ltcHRvbXMiKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShUUkFJVCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKYGBgCgojIyMgTW9kZWwgMgoKSW4gdGhpcyBtb2RlbCB3ZSBjb3JyZWN0IGZvciBfQWdlXywgX0dlbmRlcl8sIF9IeXBlcnRlbnNpb24gc3RhdHVzXywgX0RpYWJldGVzIHN0YXR1c18sIF9jdXJyZW50IHNtb2tlciBzdGF0dXNfLCBfbGlwaWQtbG93ZXJpbmcgZHJ1Z3MgKExMRHMpXywgX2FudGlwbGF0ZWxldCBtZWRpY2F0aW9uXywgX2VHRlIgKE1EUkQpXywgX0JNSV8sIF9NZWRIeF9DVkRfIChjb21iaW5hdGlvbiBvZiBfQ0FEIGhpc3RvcnlfLCBfc3Ryb2tlIGhpc3RvcnlfLCBhbmQgX3BlcmlwaGVyYWwgaW50ZXJ2ZW50aW9uc18pLCBhbmQgX3N0ZW5vc2lzLl8uCgoKYGBge3IgQ3Jvc3NTZWM6IHN5bXB0b21zIC0gbG9naXN0aWMgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQpmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSykpIHsKICBQUk9URUlOID0gVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXQogIGNhdChwYXN0ZTAoIlxuQW5hbHlzaXMgb2YgIixQUk9URUlOLCIuXG4iKSkKICBUUkFJVCA9ICJBc3ltcHRTeW1wdCIKICAgIGNhdChwYXN0ZTAoIlxuLSBwcm9jZXNzaW5nICIsVFJBSVQsIlxuXG4iKSkKICAgIGN1cnJlbnRERiA8LSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBICU+JQogICAgICBkcGx5cjo6c2VsZWN0KC4sIFBST1RFSU4sIFRSQUlULCBDT1ZBUklBVEVTX00yKSAlPiUKICAgICAgZmlsdGVyKGNvbXBsZXRlLmNhc2VzKC4pKSkgJT4lCiAgICAgIGZpbHRlcl9pZih+aXMubnVtZXJpYyguKSwgYWxsX3ZhcnMoIWlzLmluZmluaXRlKC4pKSkKICAgICMgZm9yIGRlYnVnCiAgICAjIHByaW50KERUOjpkYXRhdGFibGUoY3VycmVudERGKSkKICAgICMgcHJpbnQobnJvdyhjdXJyZW50REYpKQogICAgIyBwcmludChzdHIoY3VycmVudERGKSkKICAgICMgcHJpbnQoY2xhc3MoY3VycmVudERGWyxUUkFJVF0pKQogICAgIyMjIHVuaXZhcmlhdGUKCiAgICBmaXQgPC0gZ2xtKGFzLmZhY3RvcihjdXJyZW50REZbLFRSQUlUXSkgfiBjdXJyZW50REZbLFBST1RFSU5dICsgQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyAKICAgICAgICAgICAgICAgICBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyAKICAgICAgICAgICAgICAgICBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyAKICAgICAgICAgICAgICAgICBNZWRIeF9DVkQgKyBzdGVub3NlLCAKICAgICAgICAgICAgICAgZGF0YSAgPSAgY3VycmVudERGLCBmYW1pbHkgPSBiaW5vbWlhbChsaW5rID0gImxvZ2l0IikpCiAgICBtb2RlbF9zdGVwIDwtIHN0ZXBBSUMoZml0LCBkaXJlY3Rpb24gPSAiYm90aCIsIHRyYWNlID0gRkFMU0UpCiAgICBwcmludChtb2RlbF9zdGVwKQogICAgcHJpbnQoc3VtbWFyeShmaXQpKQogICAgCiAgICBHTE0ucmVzdWx0cy5URU1QIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKICAgIEdMTS5yZXN1bHRzLlRFTVBbMSxdID0gR0xNLkJJTihmaXQsICJBRURCLkNFQSIsIFBST1RFSU4sIFRSQUlULCB2ZXJib3NlID0gVFJVRSkKICAgIEdMTS5yZXN1bHRzID0gcmJpbmQoR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVApCiAgfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgInJeMl9sIiwgInJeMl9jcyIsICJyXjJfbmFnZWxrZXJrZSIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBaLXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yX2xgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9sYCkKR0xNLnJlc3VsdHMkYHJeMl9jc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2NzYCkKR0xNLnJlc3VsdHMkYHJeMl9uYWdlbGtlcmtlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCgojIyMgVW5pdmFyaWF0ZQp3cml0ZS54bHN4KEdMTS5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQmluLk11bHRpLlByb3RlaW4uUkFOSy5TeW1wdG9tcy5NT0RFTDIueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQmluLk11bHRpLlN5bXB0b21zIikKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIlJlbW92aW5nIGludGVybWVkaWF0ZSBmaWxlcy4uLlxuIikKcm0oVFJBSVQsIGN1cnJlbnRERiwgR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVAsIGZpdCwgbW9kZWxfc3RlcCkKCmBgYAoKCiMjIEMuIExvbmdpdHVkaW5hbCBhbmFseXNpcyBzZWNvbmRhcnkgY2xpbmljYWwgb3V0Y29tZQoKRm9yIHRoZSBsb25naXR1ZGluYWwgYW5hbHlzZXMgb2YgcGxhcXVlIGFuZCBwbGFzbWEgTUNQMSwgSUw2LCBhbmQgSUw2UiBsZXZlbHMgYW5kIHNlY29uZGFyeSBjYXJkaW92YXNjdWxhciBldmVudHMgb3ZlciBhIHRocmVlLXllYXIgZm9sbG93LXVwIHBlcmlvZC4gCgpUaGUgX3ByaW1hcnkgb3V0Y29tZV8gaXMgZGVmaW5lZCBhcyAiYSBjb21wb3NpdGUgb2YgZmF0YWwgb3Igbm9uLWZhdGFsIG15b2NhcmRpYWwgaW5mYXJjdGlvbiwgZmF0YWwgb3Igbm9uLWZhdGFsIHN0cm9rZSwgcnVwdHVyZWQgYW9ydGljIGFuZXVyeXNtLCBmYXRhbCBjYXJkaWFjIGZhaWx1cmUsIGNvcm9uYXJ5IG9yIHBlcmlwaGVyYWwgaW50ZXJ2ZW50aW9ucywgbGVnIGFtcHV0YXRpb24gZHVlIHRvIHZhc2N1bGFyIGNhdXNlcywgYW5kIGNhcmRpb3Zhc2N1bGFyIGRlYXRoIiwgaS5lLiBtYWpvciBhZHZlcnNlIGNhcmRpb3Zhc2N1bGFyIGV2ZW50cyAoTUFDRSkuIFZhcmlhYmxlOiBgZXBtYWpvci4zeWVhcnNgLCB0aGVzZSBpbmNsdWRlOgotIG15b2NhcmRpYWwgaW5mYXJjdGlvbiAoTUkpCi0gY2VyZWJyYWwgaW5mYXJjdGlvbiAoQ1ZBL3N0cm9rZSkKLSBjYXJkaW92YXNjdWxhciBkZWF0aCAoZXhhY3QgY2F1c2UgdG8gYmUgaW52ZXN0aWdhdGVkKQotIGNlcmVicmFsIGJsZWVkaW5nIChDVkEvc3Ryb2tlKQotIGZhdGFsIG15b2NhcmRpYWwgaW5mYXJjdGlvbiAoTUkpCi0gZmF0YWwgY2VyZWJyYWwgaW5mYXJjdGlvbgotIGZhdGFsIGNlcmVicmFsIGJsZWVkaW5nCi0gc3VkZGVuIGRlYXRoCi0gZmF0YWwgaGVhcnQgZmFpbHVyZQotIGZhdGFsIGFuZXVyeXNtIHJ1cHR1cmUKLSBvdGhlciBjYXJkaW92YXNjdWxhciBkZWF0aC4uCgpUaGUgX3NlY29uZGFyeSBvdXRjb21lc18gd2lsbCBiZSAKCi0gaW5jaWRlbmNlIG9mIGZhdGFsIG9yIG5vbi1mYXRhbCBzdHJva2UgKGlzY2hlbWljIGFuZCBibGVlZGluZykgLSB2YXJpYWJsZTogYGVwc3Ryb2tlLjN5ZWFyc2AsIHRoZXNlIGluY2x1ZGU6CiAgLSBjZXJlYnJhbCBpbmZhcmN0aW9uIChDVkEvc3Ryb2tlKQogIC0gY2VyZWJyYWwgYmxlZWRpbmcgKENWQS9zdHJva2UpCiAgLSBmYXRhbCBjZXJlYnJhbCBpbmZhcmN0aW9uCiAgLSBmYXRhbCBjZXJlYnJhbCBibGVlZGluZy4KLSBpbmNpZGVuY2Ugb2YgYWN1dGUgY29yb25hcnkgZXZlbnRzIChmYXRhbCBvciBub24tZmF0YWwgbXlvY2FyZGlhbCBpbmZhcmN0aW9uLCBjb3JvbmFyeSBpbnRlcnZlbnRpb25zKSAtIHZhcmlhYmxlOiBgZXBjb3JvbmFyeS4zeWVhcnNgLCB0aGVzZSBpbmNsdWRlOgogIC0gbXlvY2FyZGlhbCBpbmZhcmN0aW9uIChNSSkKICAtIGNvcm9uYXJ5IGFuZ2lvcGxhc3R5IChQQ0kvUFRDQSkKICAtIGNhcmRpb3Zhc2N1bGFyIGRlYXRoIChleGFjdCBjYXVzZSB0byBiZSBpbnZlc3RpZ2F0ZWQpCiAgLSBjb3JvbmFyeSBieXBhc3MgKENBQkcpCiAgLSBmYXRhbCBteW9jYXJkaWFsIGluZmFyY3Rpb24gKE1JKQogIC0gc3VkZGVuIGRlYXRoLgotIGNhcmRpb3Zhc2N1bGFyIGRlYXRoIC0gdmFyaWFibGU6IGBlcGN2ZGVhdGguM3llYXJzYCwgdGhlc2UgaW5jbHVkZToKICAtIGNhcmRpb3Zhc2N1bGFyIGRlYXRoIChleGFjdCBjYXVzZSB0byBiZSBpbnZlc3RpZ2F0ZWQpCiAgLSBmYXRhbCBteW9jYXJkaWFsIGluZmFyY3Rpb24gKE1JKQogIC0gZmF0YWwgY2VyZWJyYWwgaW5mYXJjdGlvbgogIC0gZmF0YWwgY2VyZWJyYWwgYmxlZWRpbmcKICAtIHN1ZGRlbiBkZWF0aAogIC0gZmF0YWwgaGVhcnQgZmFpbHVyZQogIC0gZmF0YWwgYW5ldXJ5c20gcnVwdHVyZQogIC0gb3RoZXIgY2FyZGlvdmFzY3VsYXIgZGVhdGguLgoKIyMjIDMwLSBhbmQgOTAtZGF5cyBGVSBldmVudHMKCldlIHdpbGwgdXNlIDMteWVhciBmb2xsb3ctdXAsIGJ1dCB3ZSB3aWxsIGFsc28gY2FsY3VsYXRlIDMwIGRheXMgYW5kIDkwIGRheXMgZm9sbG93LXVwICd0aW1lLXRvLWV2ZW50JyB2YXJpYWJsZXMuIE9uIGF2ZXJhZ2UgdGhlcmUgYXJlIDM2NS4yNSBkYXlzIGluIGEgeWVhci4gV2UgY2FuIGNhbGN1bGF0ZSAzMC1kYXlzIGFuZCA5MC1kYXlzIGZvbGxvdy11cCB0aW1lIGJhc2VkIG9uIHRoZSB0aHJlZSB5ZWFycyBmb2xsb3ctdXAuIAoKYGBge3IgQ2FsY3VsYXRlIG5ldyBGVSBjdXQtb2ZmczogbWF4aW11bSBGVX0KY3V0dC5vZmYuMzBkYXlzID0gKDEvMzY1LjI1KSAqIDMwCmN1dHQub2ZmLjkwZGF5cyA9ICgxLzM2NS4yNSkgKiA5MAoKIyBGaXggbWF4aW11bSBGVSBvZiAzMCBhbmQgOTAgZGF5cwpBRURCIDwtIEFFREIgJT4lCiAgbXV0YXRlKAogICAgRlUuY3V0dC5vZmYuMzBkYXlzID0gaWZlbHNlKG1heC5mb2xsb3d1cCA8PSBjdXR0Lm9mZi4zMGRheXMsIG1heC5mb2xsb3d1cCwgY3V0dC5vZmYuMzBkYXlzKSwKICAgIEZVLmN1dHQub2ZmLjkwZGF5cyA9IGlmZWxzZShtYXguZm9sbG93dXAgPD0gY3V0dC5vZmYuOTBkYXlzLCBtYXguZm9sbG93dXAsIGN1dHQub2ZmLjkwZGF5cykKICApIAoKQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXguZm9sbG93dXAiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRlUuY3V0dC5vZmYuM3llYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRlUuY3V0dC5vZmYuMzBkYXlzIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZVLmN1dHQub2ZmLjkwZGF5cyIpKQpyZXF1aXJlKGxhYmVsbGVkKQpBRURCLnRlbXAkR2VuZGVyIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkR2VuZGVyKQpBRURCLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRIb3NwaXRhbCkKQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCgpEVDo6ZGF0YXRhYmxlKEFFREIudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi4iLCByb3duYW1lcyA9IEZBTFNFKQoKcm0oQUVEQi50ZW1wKQoKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lCiAgbXV0YXRlKAogICAgRlUuY3V0dC5vZmYuMzBkYXlzID0gaWZlbHNlKG1heC5mb2xsb3d1cCA8PSBjdXR0Lm9mZi4zMGRheXMsIG1heC5mb2xsb3d1cCwgY3V0dC5vZmYuMzBkYXlzKSwKICAgIEZVLmN1dHQub2ZmLjkwZGF5cyA9IGlmZWxzZShtYXguZm9sbG93dXAgPD0gY3V0dC5vZmYuOTBkYXlzLCBtYXguZm9sbG93dXAsIGN1dHQub2ZmLjkwZGF5cykKICApIAoKQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heC5mb2xsb3d1cCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGVS5jdXR0Lm9mZi4zeWVhcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGVS5jdXR0Lm9mZi4zMGRheXMiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRlUuY3V0dC5vZmYuOTBkYXlzIikpCnJlcXVpcmUobGFiZWxsZWQpCkFFREIuQ0VBLnRlbXAkR2VuZGVyIDwtIHRvX2ZhY3RvcihBRURCLkNFQS50ZW1wJEdlbmRlcikKQUVEQi5DRUEudGVtcCRIb3NwaXRhbCA8LSB0b19mYWN0b3IoQUVEQi5DRUEudGVtcCRIb3NwaXRhbCkKQUVEQi5DRUEudGVtcCRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQi5DRUEudGVtcCRBcnRlcnlfc3VtbWFyeSkKCkRUOjpkYXRhdGFibGUoQUVEQi5DRUEudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi5DRUEuIiwgcm93bmFtZXMgPSBGQUxTRSkKCnJtKEFFREIuQ0VBLnRlbXApCgoKYGBgCgpIZXJlIHdlIHdpbGwgY2FsY3VsYXRlIHRoZSBuZXcgMzAtIGFuZCA5MC1kYXlzIGZvbGxvdy11cCBvZiB0aGUgZXZlbnRzIGFuZCB0aGVpciBldmVudC10aW1lcyBvZiBpbnRlcmVzdDoKCi0gTUFDRSAoYGVwbWFqb3IuM3llYXJzYCkKLSBTdHJva2UgKGBlcHN0cm9rZS4zeWVhcnNgKQotIENvcm9uYXJ5IGV2ZW50cyAoYGVwY29yb25hcnkuM3llYXJzYCkKLSBDYXJkaW92YXNjdWxhciBkZWF0aCAoYGVwY3ZkZWF0aC4zeWVhcnNgKQoKCmBgYHtyIENhbGN1bGF0ZSBuZXcgRlUgY3V0LW9mZnM6IHRpbWVzfQphdmdfZGF5c19pbl95ZWFyID0gMzY1LjI1CmN1dHQub2ZmLjMwZGF5cy5zY2FsZWQgPC0gY3V0dC5vZmYuMzBkYXlzICogMzY1LjI1CmN1dHQub2ZmLjkwZGF5cy5zY2FsZWQgPC0gY3V0dC5vZmYuOTBkYXlzICogMzY1LjI1CiMgRXZlbnQgdGltZXMKQUVEQiA8LSBBRURCICU+JQogIG11dGF0ZSgKICAgIGVwX21ham9yX3RfMzBkYXlzID0gaWZlbHNlKGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCksCiAgICBlcF9zdHJva2VfdF8zMGRheXMgPSBpZmVsc2UoZXBfc3Ryb2tlX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9zdHJva2VfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX2Nvcm9uYXJ5X3RfMzBkYXlzID0gaWZlbHNlKGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCksCiAgICBlcF9jdmRlYXRoX3RfMzBkYXlzID0gaWZlbHNlKGVwX2N2ZGVhdGhfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9jdmRlYXRoX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCksCiAgICBlcF9tYWpvcl90XzkwZGF5cyA9IGlmZWxzZShlcF9tYWpvcl90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9tYWpvcl90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQpLAogICAgZXBfc3Ryb2tlX3RfOTBkYXlzID0gaWZlbHNlKGVwX3N0cm9rZV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfc3Ryb2tlX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCksCiAgICBlcF9jb3JvbmFyeV90XzkwZGF5cyA9IGlmZWxzZShlcF9jb3JvbmFyeV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9jb3JvbmFyeV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQpLAogICAgZXBfY3ZkZWF0aF90XzkwZGF5cyA9IGlmZWxzZShlcF9jdmRlYXRoX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfY3ZkZWF0aF90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQpCiAgKSAKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JQogIG11dGF0ZSgKICAgIGVwX21ham9yX3RfMzBkYXlzID0gaWZlbHNlKGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCksCiAgICBlcF9zdHJva2VfdF8zMGRheXMgPSBpZmVsc2UoZXBfc3Ryb2tlX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9zdHJva2VfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX2Nvcm9uYXJ5X3RfMzBkYXlzID0gaWZlbHNlKGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCksCiAgICBlcF9jdmRlYXRoX3RfMzBkYXlzID0gaWZlbHNlKGVwX2N2ZGVhdGhfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9jdmRlYXRoX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCksCiAgICBlcF9tYWpvcl90XzkwZGF5cyA9IGlmZWxzZShlcF9tYWpvcl90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9tYWpvcl90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQpLAogICAgZXBfc3Ryb2tlX3RfOTBkYXlzID0gaWZlbHNlKGVwX3N0cm9rZV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfc3Ryb2tlX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCksCiAgICBlcF9jb3JvbmFyeV90XzkwZGF5cyA9IGlmZWxzZShlcF9jb3JvbmFyeV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9jb3JvbmFyeV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQpLAogICAgZXBfY3ZkZWF0aF90XzkwZGF5cyA9IGlmZWxzZShlcF9jdmRlYXRoX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfY3ZkZWF0aF90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQpCiAgKSAKCmBgYAoKCmBgYHtyIENveC1yZWdyZXNzaW9uczogbmV3IHRpbWVzfQoKYXR0YWNoKEFFREIpCkFFREJbLCJlcG1ham9yLjMwZGF5cyJdIDwtIEFFREIkZXBtYWpvci4zeWVhcnMKQUVEQiRlcG1ham9yLjMwZGF5c1tlcG1ham9yLjN5ZWFycyA9PSAxICYgZXBfbWFqb3JfdF8zeWVhcnMgPiBjdXR0Lm9mZi4zMGRheXNdIDwtIDAKCkFFREJbLCJlcHN0cm9rZS4zMGRheXMiXSA8LSBBRURCJGVwc3Ryb2tlLjN5ZWFycwpBRURCJGVwc3Ryb2tlLjMwZGF5c1tlcHN0cm9rZS4zeWVhcnMgPT0gMSAmIGVwX3N0cm9rZV90XzN5ZWFycyA+IGN1dHQub2ZmLjMwZGF5c10gPC0gMAoKQUVEQlssImVwY29yb25hcnkuMzBkYXlzIl0gPC0gQUVEQiRlcGNvcm9uYXJ5LjN5ZWFycwpBRURCJGVwY29yb25hcnkuMzBkYXlzW2VwY29yb25hcnkuM3llYXJzID09IDEgJiBlcF9jb3JvbmFyeV90XzN5ZWFycyA+IGN1dHQub2ZmLjMwZGF5c10gPC0gMAoKQUVEQlssImVwY3ZkZWF0aC4zMGRheXMiXSA8LSBBRURCJGVwY3ZkZWF0aC4zeWVhcnMKQUVEQiRlcGN2ZGVhdGguMzBkYXlzW2VwY3ZkZWF0aC4zeWVhcnMgPT0gMSAmIGVwX2N2ZGVhdGhfdF8zeWVhcnMgPiBjdXR0Lm9mZi4zMGRheXNdIDwtIDAKCkFFREJbLCJlcG1ham9yLjkwZGF5cyJdIDwtIEFFREIkZXBtYWpvci4zeWVhcnMKQUVEQiRlcG1ham9yLjkwZGF5c1tlcG1ham9yLjN5ZWFycyA9PSAxICYgZXBfbWFqb3JfdF8zeWVhcnMgPiBjdXR0Lm9mZi45MGRheXNdIDwtIDAKCkFFREJbLCJlcHN0cm9rZS45MGRheXMiXSA8LSBBRURCJGVwc3Ryb2tlLjN5ZWFycwpBRURCJGVwc3Ryb2tlLjkwZGF5c1tlcHN0cm9rZS4zeWVhcnMgPT0gMSAmIGVwX3N0cm9rZV90XzN5ZWFycyA+IGN1dHQub2ZmLjkwZGF5c10gPC0gMAoKQUVEQlssImVwY29yb25hcnkuOTBkYXlzIl0gPC0gQUVEQiRlcGNvcm9uYXJ5LjN5ZWFycwpBRURCJGVwY29yb25hcnkuOTBkYXlzW2VwY29yb25hcnkuM3llYXJzID09IDEgJiBlcF9jb3JvbmFyeV90XzN5ZWFycyA+IGN1dHQub2ZmLjkwZGF5c10gPC0gMAoKQUVEQlssImVwY3ZkZWF0aC45MGRheXMiXSA8LSBBRURCJGVwY3ZkZWF0aC4zeWVhcnMKQUVEQiRlcGN2ZGVhdGguOTBkYXlzW2VwY3ZkZWF0aC4zeWVhcnMgPT0gMSAmIGVwX2N2ZGVhdGhfdF8zeWVhcnMgPiBjdXR0Lm9mZi45MGRheXNdIDwtIDAKCmRldGFjaChBRURCKQoKQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlcG1ham9yLjN5ZWFycyIsICJlcHN0cm9rZS4zeWVhcnMiLCAiZXBjb3JvbmFyeS4zeWVhcnMiLCAiZXBjdmRlYXRoLjN5ZWFycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVwbWFqb3IuMzBkYXlzIiwgImVwc3Ryb2tlLjMwZGF5cyIsICJlcGNvcm9uYXJ5LjMwZGF5cyIsICJlcGN2ZGVhdGguMzBkYXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXBtYWpvci45MGRheXMiLCAiZXBzdHJva2UuOTBkYXlzIiwgImVwY29yb25hcnkuOTBkYXlzIiwgImVwY3ZkZWF0aC45MGRheXMiKSkKcmVxdWlyZShsYWJlbGxlZCkKQUVEQi50ZW1wJEdlbmRlciA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEdlbmRlcikKQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCkFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5KQoKRFQ6OmRhdGF0YWJsZShBRURCLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuIiwgcm93bmFtZXMgPSBGQUxTRSkKCnJtKEFFREIudGVtcCkKCmF0dGFjaChBRURCLkNFQSkKQUVEQi5DRUFbLCJlcG1ham9yLjMwZGF5cyJdIDwtIEFFREIuQ0VBJGVwbWFqb3IuM3llYXJzCkFFREIuQ0VBJGVwbWFqb3IuMzBkYXlzW2VwbWFqb3IuM3llYXJzID09IDEgJiBlcF9tYWpvcl90XzN5ZWFycyA+IGN1dHQub2ZmLjMwZGF5c10gPC0gMAoKQUVEQi5DRUFbLCJlcHN0cm9rZS4zMGRheXMiXSA8LSBBRURCLkNFQSRlcHN0cm9rZS4zeWVhcnMKQUVEQi5DRUEkZXBzdHJva2UuMzBkYXlzW2Vwc3Ryb2tlLjN5ZWFycyA9PSAxICYgZXBfc3Ryb2tlX3RfM3llYXJzID4gY3V0dC5vZmYuMzBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwY29yb25hcnkuMzBkYXlzIl0gPC0gQUVEQi5DRUEkZXBjb3JvbmFyeS4zeWVhcnMKQUVEQi5DRUEkZXBjb3JvbmFyeS4zMGRheXNbZXBjb3JvbmFyeS4zeWVhcnMgPT0gMSAmIGVwX2Nvcm9uYXJ5X3RfM3llYXJzID4gY3V0dC5vZmYuMzBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwY3ZkZWF0aC4zMGRheXMiXSA8LSBBRURCLkNFQSRlcGN2ZGVhdGguM3llYXJzCkFFREIuQ0VBJGVwY3ZkZWF0aC4zMGRheXNbZXBjdmRlYXRoLjN5ZWFycyA9PSAxICYgZXBfY3ZkZWF0aF90XzN5ZWFycyA+IGN1dHQub2ZmLjMwZGF5c10gPC0gMAoKQUVEQi5DRUFbLCJlcG1ham9yLjkwZGF5cyJdIDwtIEFFREIuQ0VBJGVwbWFqb3IuM3llYXJzCkFFREIuQ0VBJGVwbWFqb3IuOTBkYXlzW2VwbWFqb3IuM3llYXJzID09IDEgJiBlcF9tYWpvcl90XzN5ZWFycyA+IGN1dHQub2ZmLjkwZGF5c10gPC0gMAoKQUVEQi5DRUFbLCJlcHN0cm9rZS45MGRheXMiXSA8LSBBRURCLkNFQSRlcHN0cm9rZS4zeWVhcnMKQUVEQi5DRUEkZXBzdHJva2UuOTBkYXlzW2Vwc3Ryb2tlLjN5ZWFycyA9PSAxICYgZXBfc3Ryb2tlX3RfM3llYXJzID4gY3V0dC5vZmYuOTBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwY29yb25hcnkuOTBkYXlzIl0gPC0gQUVEQi5DRUEkZXBjb3JvbmFyeS4zeWVhcnMKQUVEQi5DRUEkZXBjb3JvbmFyeS45MGRheXNbZXBjb3JvbmFyeS4zeWVhcnMgPT0gMSAmIGVwX2Nvcm9uYXJ5X3RfM3llYXJzID4gY3V0dC5vZmYuOTBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwY3ZkZWF0aC45MGRheXMiXSA8LSBBRURCLkNFQSRlcGN2ZGVhdGguM3llYXJzCkFFREIuQ0VBJGVwY3ZkZWF0aC45MGRheXNbZXBjdmRlYXRoLjN5ZWFycyA9PSAxICYgZXBfY3ZkZWF0aF90XzN5ZWFycyA+IGN1dHQub2ZmLjkwZGF5c10gPC0gMAoKZGV0YWNoKEFFREIuQ0VBKQoKQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVwbWFqb3IuM3llYXJzIiwgImVwc3Ryb2tlLjN5ZWFycyIsICJlcGNvcm9uYXJ5LjN5ZWFycyIsICJlcGN2ZGVhdGguM3llYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXBtYWpvci4zMGRheXMiLCAiZXBzdHJva2UuMzBkYXlzIiwgImVwY29yb25hcnkuMzBkYXlzIiwgImVwY3ZkZWF0aC4zMGRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlcG1ham9yLjkwZGF5cyIsICJlcHN0cm9rZS45MGRheXMiLCAiZXBjb3JvbmFyeS45MGRheXMiLCAiZXBjdmRlYXRoLjkwZGF5cyIpKQpyZXF1aXJlKGxhYmVsbGVkKQpBRURCLkNFQS50ZW1wJEdlbmRlciA8LSB0b19mYWN0b3IoQUVEQi5DRUEudGVtcCRHZW5kZXIpCkFFREIuQ0VBLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIuQ0VBLnRlbXAkSG9zcGl0YWwpCkFFREIuQ0VBLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkgPC0gdG9fZmFjdG9yKEFFREIuQ0VBLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCgpEVDo6ZGF0YXRhYmxlKEFFREIuQ0VBLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuQ0VBLiIsIHJvd25hbWVzID0gRkFMU0UpCgpybShBRURCLkNFQS50ZW1wKQoKCgpgYGAKCiMjIyBTYW5pdHkgY2hlY2tzCgpGaXJzdCB3ZSBkbyBzb21lIHNhbml0eSBjaGVja3MgYW5kIGludmVudG9yeSB0aGUgdGltZS10by1ldmVudCBhbmQgZXZlbnQgdmFyaWFibGVzLgpgYGB7ciBDb3gtcmVncmVzc2lvbnM6IEdlbmVyYWx9CiMgUmVmZXJlbmNlOiBodHRwczovL2Jpb2NvbmR1Y3Rvci5vcmcvcGFja2FnZXMvZGV2ZWwvYmlvYy92aWduZXR0ZXMvTXVsdGlBc3NheUV4cGVyaW1lbnQvaW5zdC9kb2MvUXVpY2tTdGFydE11bHRpQXNzYXkuaHRtbAojIElmIHlvdSB3YW50IHRvIHN1cHByZXNzIHdhcm5pbmdzIGFuZCBtZXNzYWdlcyB3aGVuIGluc3RhbGxpbmcvbG9hZGluZyBwYWNrYWdlcwojIHN1cHByZXNzUGFja2FnZVN0YXJ0dXBNZXNzYWdlcyh7fSkKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJzdXJ2aXZhbCIpCmluc3RhbGwucGFja2FnZXMuYXV0bygic3Vydm1pbmVyIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJIbWlzYyIpCgpjYXQoIiogQ3JlYXRpbmcgZnVuY3Rpb24gdG8gc3VtbWFyaXplIENveCByZWdyZXNzaW9uIGFuZCBwcmVwYXJlIGNvbnRhaW5lciBmb3IgcmVzdWx0cy4iKQojIEZ1bmN0aW9uIHRvIGdldCBzdW1tYXJ5IHN0YXRpc3RpY3MgZnJvbSBDb3ggcmVncmVzc2lvbiBtb2RlbApDT1guU1RBVCA8LSBmdW5jdGlvbihjb3hmaXQsIERBVEFTRVQsIE9VVENPTUUsIHByb3RlaW4pewogIGNhdCgiU3VtbWFyaXppbmcgQ294IHJlZ3Jlc3Npb24gcmVzdWx0cyBmb3IgJyIsIHByb3RlaW4gLCInIGFuZCBpdHMgYXNzb2NpYXRpb24gdG8gJyIsT1VUQ09NRSwiJyBpbiAnIixEQVRBU0VULCInLlxuIikKICBpZiAobnJvdyhzdW1tYXJ5KGNveGZpdCkkY29lZmZpY2llbnRzKSA9PSAxKSB7CiAgICBvdXRwdXQgPSBjKHByb3RlaW4sIHJlcChOQSw4KSkKICAgIGNhdCgiTW9kZWwgbm90IGZpdHRlZDsgcHJvYmFibHkgc2luZ3VsYXIuXG4iKQogIH1lbHNlIHsKICAgIGNhdCgiQ29sbGVjdGluZyBkYXRhLlxuXG4iKQogICAgY294LnN1bSA8LSBzdW1tYXJ5KGNveGZpdCkKICAgIGNveC5lZmZlY3RzaXplID0gY294LnN1bSRjb2VmZmljaWVudHNbMSwxXQogICAgY294LlNFID0gY294LnN1bSRjb2VmZmljaWVudHNbMSwzXQogICAgY294LkhSZWZmZWN0ID0gY294LnN1bSRjb2VmZmljaWVudHNbMSwyXQogICAgY294LkNJX2xvdyA9IGV4cChjb3guZWZmZWN0c2l6ZSAtIDEuOTYgKiBjb3guU0UpCiAgICBjb3guQ0lfdXAgPSBleHAoY294LmVmZmVjdHNpemUgKyAxLjk2ICogY294LlNFKQogICAgY294Lnp2YWx1ZSA9IGNveC5zdW0kY29lZmZpY2llbnRzWzEsNF0KICAgIGNveC5wdmFsdWUgPSBjb3guc3VtJGNvZWZmaWNpZW50c1sxLDVdCiAgICBjb3guc2FtcGxlX3NpemUgPSBjb3guc3VtJG4KICAgIGNveC5uZXZlbnRzID0gY294LnN1bSRuZXZlbnQKICAgIAogICAgb3V0cHV0ID0gYyhEQVRBU0VULCBPVVRDT01FLCBwcm90ZWluLCBjb3guZWZmZWN0c2l6ZSwgY294LlNFLCBjb3guSFJlZmZlY3QsIGNveC5DSV9sb3csIGNveC5DSV91cCwgY294Lnp2YWx1ZSwgY294LnB2YWx1ZSwgY294LnNhbXBsZV9zaXplLCBjb3gubmV2ZW50cykKICAgIGNhdCgiV2UgaGF2ZSBjb2xsZWN0ZWQgdGhlIGZvbGxvd2luZzpcbiIpCiAgICBjYXQoIkRhdGFzZXQgdXNlZC4uLi4uLi4uLi4uLi4uOiIsIERBVEFTRVQsICJcbiIpCiAgICBjYXQoIk91dGNvbWUgYW5hbHl6ZWQuLi4uLi4uLi4uOiIsIE9VVENPTUUsICJcbiIpCiAgICBjYXQoIlByb3RlaW4uLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHByb3RlaW4sICJcbiIpCiAgICBjYXQoIkVmZmVjdCBzaXplLi4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKGNveC5lZmZlY3RzaXplLCA2KSwgIlxuIikKICAgIGNhdCgiU3RhbmRhcmQgZXJyb3IuLi4uLi4uLi4uLi46Iiwgcm91bmQoY294LlNFLCA2KSwgIlxuIikKICAgIGNhdCgiT2RkcyByYXRpbyAoZWZmZWN0IHNpemUpLi46Iiwgcm91bmQoY294LkhSZWZmZWN0LCAzKSwgIlxuIikKICAgIGNhdCgiTG93ZXIgOTUlIENJLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQoY294LkNJX2xvdywgMyksICJcbiIpCiAgICBjYXQoIlVwcGVyIDk1JSBDSS4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKGNveC5DSV91cCwgMyksICJcbiIpCiAgICBjYXQoIlQtdmFsdWUuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKGNveC56dmFsdWUsIDYpLCAiXG4iKQogICAgY2F0KCJQLXZhbHVlLi4uLi4uLi4uLi4uLi4uLi4uLjoiLCBzaWduaWYoY294LnB2YWx1ZSwgOCksICJcbiIpCiAgICBjYXQoIlNhbXBsZSBzaXplIGluIG1vZGVsLi4uLi4uOiIsIGNveC5zYW1wbGVfc2l6ZSwgIlxuIikKICAgIGNhdCgiTnVtYmVyIG9mIGV2ZW50cy4uLi4uLi4uLi46IiwgY294Lm5ldmVudHMsICJcbiIpCiAgfQogIHJldHVybihvdXRwdXQpCiAgcHJpbnQob3V0cHV0KQp9IAoKdGltZXMgPSBjKCJlcF9tYWpvcl90XzN5ZWFycyIsIAogICAgICAgICAgImVwX3N0cm9rZV90XzN5ZWFycyIsICJlcF9jb3JvbmFyeV90XzN5ZWFycyIsICJlcF9jdmRlYXRoX3RfM3llYXJzIikKCmVuZHBvaW50cyA9IGMoImVwbWFqb3IuM3llYXJzIiwgCiAgICAgICAgICAgICAgImVwc3Ryb2tlLjN5ZWFycyIsICJlcGNvcm9uYXJ5LjN5ZWFycyIsICJlcGN2ZGVhdGguM3llYXJzIikKCmNhdCgiKiBDaGVjayB0aGUgY2FzZXMgcGVyIGV2ZW50IHR5cGUgLSBmb3Igc2FuaXR5LiIpCmZvciAoZXZlbnRzIGluIGVuZHBvaW50cyl7CiAgcmVxdWlyZShsYWJlbGxlZCkKICBwcmludChwYXN0ZTAoIlByaW50aW5nIHRoZSBzdW1tYXJ5IG9mOiAiLGV2ZW50cykpCiAgIyBwcmludChzdW1tYXJ5KEFFREIuQ0VBWyxldmVudHNdKSkKICBwcmludCh0YWJsZShBRURCLkNFQVssZXZlbnRzXSkpCn0KCmNhdCgiKiBDaGVjayBkaXN0cmlidXRpb24gb2YgZXZlbnRzIG92ZXIgdGltZSAtIGZvciBzYW5pdHkuIikKZm9yIChldmVudHRpbWVzIGluIHRpbWVzKXsKICBwcmludChwYXN0ZTAoIlByaW50aW5nIHRoZSBzdW1tYXJ5IG9mOiAiLGV2ZW50dGltZXMpKQogIHByaW50KHN1bW1hcnkoQUVEQi5DRUFbLGV2ZW50dGltZXNdKSkKfQoKZm9yIChldmVudHRpbWUgaW4gdGltZXMpewogIAogIHByaW50KHBhc3RlMCgiUHJpbnRpbmcgdGhlIGRpc3RyaWJ1dGlvbiBvZjogIixldmVudHRpbWUpKQogIHAgPC0gZ2doaXN0b2dyYW0oQUVEQi5DRUEsIHggPSBldmVudHRpbWUsIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICBtYWluID0gZXZlbnR0aW1lLCBiaW5zID0gMTUsIAogICAgICAgICAgICAgIHhsYWIgPSAieWVhciIsIGNvbG9yID0gdWl0aG9mX2NvbG9yWzE2XSwgZmlsbCA9IHVpdGhvZl9jb2xvclsxNl0sIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpIAogcHJpbnQocCkKIGdnc2F2ZShmaWxlID0gcGFzdGUwKFFDX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuRXZlbnREaXN0cmlidXRpb25QZXJZZWFyLiIsZXZlbnR0aW1lLCIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKfQoKdGltZXMzMCA9IGMoImVwX21ham9yX3RfMzBkYXlzIiwgCiAgICAgICAgICAiZXBfc3Ryb2tlX3RfMzBkYXlzIiwgImVwX2Nvcm9uYXJ5X3RfMzBkYXlzIiwgImVwX2N2ZGVhdGhfdF8zMGRheXMiKQoKZW5kcG9pbnRzMzAgPSBjKCJlcG1ham9yLjMwZGF5cyIsIAogICAgICAgICAgICAgICJlcHN0cm9rZS4zMGRheXMiLCAiZXBjb3JvbmFyeS4zMGRheXMiLCAiZXBjdmRlYXRoLjMwZGF5cyIpCgpjYXQoIiogQ2hlY2sgdGhlIGNhc2VzIHBlciBldmVudCB0eXBlIC0gZm9yIHNhbml0eS4iKQpmb3IgKGV2ZW50cyBpbiBlbmRwb2ludHMzMCl7CiAgcHJpbnQocGFzdGUwKCJQcmludGluZyB0aGUgc3VtbWFyeSBvZjogIixldmVudHMpKQogICMgcHJpbnQoc3VtbWFyeShBRURCLkNFQVssZXZlbnRzXSkpCiAgcHJpbnQodGFibGUoQUVEQi5DRUFbLGV2ZW50c10pKQp9CgpjYXQoIiogQ2hlY2sgZGlzdHJpYnV0aW9uIG9mIGV2ZW50cyBvdmVyIHRpbWUgLSBmb3Igc2FuaXR5LiIpCmZvciAoZXZlbnR0aW1lcyBpbiB0aW1lczMwKXsKICBwcmludChwYXN0ZTAoIlByaW50aW5nIHRoZSBzdW1tYXJ5IG9mOiAiLGV2ZW50dGltZXMpKQogIHByaW50KHN1bW1hcnkoQUVEQi5DRUFbLGV2ZW50dGltZXNdKSkKfQoKZm9yIChldmVudHRpbWUgaW4gdGltZXMzMCl7CiAgCiAgcHJpbnQocGFzdGUwKCJQcmludGluZyB0aGUgZGlzdHJpYnV0aW9uIG9mOiAiLGV2ZW50dGltZSkpCiAgcCA8LSBnZ2hpc3RvZ3JhbShBRURCLkNFQSwgeCA9IGV2ZW50dGltZSwgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgIG1haW4gPSBldmVudHRpbWUsIGJpbnMgPSAxNSwgCiAgICAgICAgICAgICAgeGxhYiA9ICJkYXlzIiwgY29sb3IgPSB1aXRob2ZfY29sb3JbMTZdLCBmaWxsID0gdWl0aG9mX2NvbG9yWzE2XSwgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkgCiBwcmludChwKQogZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUUNfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5FdmVudERpc3RyaWJ1dGlvblBlcjMwRGF5cy4iLGV2ZW50dGltZSwiLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCn0KCnRpbWVzOTAgPSBjKCJlcF9tYWpvcl90XzkwZGF5cyIsIAogICAgICAgICAgImVwX3N0cm9rZV90XzkwZGF5cyIsICJlcF9jb3JvbmFyeV90XzkwZGF5cyIsICJlcF9jdmRlYXRoX3RfOTBkYXlzIikKCmVuZHBvaW50czkwID0gYygiZXBtYWpvci45MGRheXMiLCAKICAgICAgICAgICAgICAiZXBzdHJva2UuOTBkYXlzIiwgImVwY29yb25hcnkuOTBkYXlzIiwgImVwY3ZkZWF0aC45MGRheXMiKQoKY2F0KCIqIENoZWNrIHRoZSBjYXNlcyBwZXIgZXZlbnQgdHlwZSAtIGZvciBzYW5pdHkuIikKZm9yIChldmVudHMgaW4gZW5kcG9pbnRzOTApewogIHByaW50KHBhc3RlMCgiUHJpbnRpbmcgdGhlIHN1bW1hcnkgb2Y6ICIsZXZlbnRzKSkKICAjIHByaW50KHN1bW1hcnkoQUVEQi5DRUFbLGV2ZW50c10pKQogIHByaW50KHRhYmxlKEFFREIuQ0VBWyxldmVudHNdKSkKfQoKY2F0KCIqIENoZWNrIGRpc3RyaWJ1dGlvbiBvZiBldmVudHMgb3ZlciB0aW1lIC0gZm9yIHNhbml0eS4iKQpmb3IgKGV2ZW50dGltZXMgaW4gdGltZXM5MCl7CiAgcHJpbnQocGFzdGUwKCJQcmludGluZyB0aGUgc3VtbWFyeSBvZjogIixldmVudHRpbWVzKSkKICBwcmludChzdW1tYXJ5KEFFREIuQ0VBWyxldmVudHRpbWVzXSkpCn0KCmZvciAoZXZlbnR0aW1lIGluIHRpbWVzOTApewogIAogIHByaW50KHBhc3RlMCgiUHJpbnRpbmcgdGhlIGRpc3RyaWJ1dGlvbiBvZjogIixldmVudHRpbWUpKQogIHAgPC0gZ2doaXN0b2dyYW0oQUVEQi5DRUEsIHggPSBldmVudHRpbWUsIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICBtYWluID0gZXZlbnR0aW1lLCBiaW5zID0gMTUsIAogICAgICAgICAgICAgIHhsYWIgPSAiZGF5cyIsIGNvbG9yID0gdWl0aG9mX2NvbG9yWzE2XSwgZmlsbCA9IHVpdGhvZl9jb2xvclsxNl0sIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpIAogcHJpbnQocCkKIGdnc2F2ZShmaWxlID0gcGFzdGUwKFFDX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuRXZlbnREaXN0cmlidXRpb25QZXI5MERheXMuIixldmVudHRpbWUsIi5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQp9CgoKYGBgCgoKIyMjIENveCByZWdyZXNzaW9ucwoKTGV0J3MgcGVyZm9ybSB0aGUgYWN0dWFsIENveC1yZWdyZXNzaW9ucy4gV2Ugd2lsbCBhcHBseSBhIGNvdXBsZSBvZiBtb2RlbHM6IAoKLSBNb2RlbCAxOiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIGFuZCB5ZWFyIG9mIHN1cmdlcnkKLSBNb2RlbCAyOiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIHllYXIgb2Ygc3VyZ2VyeSwgaHlwZXJ0ZW5zaW9uLCBkaWFiZXRlcywgc21va2luZywgTERMLUMgbGV2ZWxzLCBsaXBpZC1sb3dlcmluZyBkcnVncywgYW50aXBsYXRlbGV0IGRydWdzLCBlR0ZSLCBCTUksIGhpc3Rvcnkgb2YgQ1ZELCBsZXZlbCBvZiBzdGVub3NpcwoKIyMjIyAzIHllYXJzIGZvbGxvdy11cAoKKk1PREVMIDEqCmBgYHtyIENveC1yZWdyZXNzaW9uIEFuYWx5c2lzOiBTaW1wbGUgbW9kZWx9CiMgU2V0IHVwIGEgZGF0YWZyYW1lIHRvIHJlY2VpdmUgcmVzdWx0cwpDT1gucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCgojIExvb3Bpbmcgb3ZlciBlYWNoIHByb3RlaW4vZW5kcG9pbnQvdGltZSBjb21iaW5hdGlvbgpmb3IgKGkgaW4gMTpsZW5ndGgodGltZXMpKXsKICBlcHRpbWUgPSB0aW1lc1tpXQogIGVwID0gZW5kcG9pbnRzW2ldCiAgY2F0KHBhc3RlMCgiKiBBbmFseXppbmcgdGhlIGVmZmVjdCBvZiBwbGFxdWUgcHJvdGVpbnMgb24gWyIsZXAsIl0uXG4iKSkKICBjYXQoIiAtIGNyZWF0aW5nIHRlbXBvcmFyeSBTRSBmb3IgdGhpcyB3b3JrLlxuIikKICBURU1QLkRGID0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSkKICBjYXQoIiAtIG1ha2luZyBhICdTdXJ2JyBvYmplY3QgYW5kIGFkZGluZyB0aGlzIHRvIHRlbXBvcmFyeSBkYXRhZnJhbWUuXG4iKQogIFRFTVAuREYkZXZlbnQgPC0gYXMuaW50ZWdlcihURU1QLkRGWyxlcF0pCiAgVEVNUC5ERiR5IDwtIFN1cnYodGltZSA9IFRFTVAuREZbLGVwdGltZV0sIGV2ZW50ID0gVEVNUC5ERiRldmVudCkKICBjYXQoIiAtIG1ha2luZyBzdHJhdGEgb2YgZWFjaCBvZiB0aGUgcGxhcXVlIHByb3RlaW5zIGFuZCBzdGFydCBzdXJ2aXZhbCBhbmFseXNpcy5cbiIpCiAgCiAgZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKXsKICAgIGNhdChwYXN0ZTAoIiAgID4gcHJvY2Vzc2luZyBbIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCJdOyAiLHByb3RlaW4sIiBvdXQgb2YgIixsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSyksIiBwcm90ZWlucy5cbiIpKQogICAgIyBzcGxpdHRpbmcgaW50byB0d28gZ3JvdXBzCiAgICBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSA8LSBjdXQyKFRFTVAuREZbLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl1dLCBnID0gMikKICAgIGNhdChwYXN0ZTAoIiAgID4gY3Jvc3MgdGFidWxhdGlvbiBvZiAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBzaG93KHRhYmxlKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKSkKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IGZpdHRpbmcgdGhlIG1vZGVsIGZvciAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBmaXQgPC0gc3VydmZpdChhcy5mb3JtdWxhKHBhc3RlMCgieSB+ICIsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pKSwgZGF0YSA9IFRFTVAuREYpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBtYWtlIGEgS2FwbGFuLU1laWVyLXNoaXp6bGUuLi5cbiIpKQogICAgIyBtYWtlIEthcGxhbi1NZWllciBjdXJ2ZSBhbmQgc2F2ZSBpdAogICAgc2hvdyhnZ3N1cnZwbG90KGZpdCwgZGF0YSA9IFRFTVAuREYsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXRlID0gYygiRjU5RDEwIiwgIiNEQjAwM0YiLCAiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSBjKDEsMiksCiAgICAgICAgICAgICAgICAgICAgIyBsaW5ldHlwZSA9IGMoMSwyLDMsNCksCiAgICAgICAgICAgICAgICAgICAgIyBjb25mLmludCA9IEZBTFNFLCBjb25mLmludC5maWxsID0gIiM1OTVBNUMiLCBjb25mLmludC5hbHBoYSA9IDAuMSwKICAgICAgICAgICAgICAgICAgICBwdmFsID0gRkFMU0UsIHB2YWwubWV0aG9kID0gRkFMU0UsIHB2YWwuc2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgcmlzay50YWJsZSA9IFRSVUUsIHJpc2sudGFibGUueS50ZXh0ID0gRkFMU0UsIHRhYmxlcy55LnRleHQuY29sID0gVFJVRSwgZm9udHNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIGNlbnNvciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLnRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC5sYWJzID0gYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiUmlzayBvZiAiLGVwLCIiKSwgeGxhYiA9ICJUaW1lIFt5ZWFyc10iLCBmb250Lm1haW4gPSBjKDE2LCAiYm9sZCIsICJibGFjayIpKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5zdXJ2aXZhbC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi5wZGYiKSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTAsIG9uZWZpbGUgPSBGQUxTRSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gcGVyZm9ybSB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIGFuZCBwbG90IGl0Li4uXG4iKSkKICAgICMjIyBEbyBDb3gtcmVncmVzc2lvbiBhbmQgcGxvdCBpdAogICAgCiAgICAjIyMgTU9ERUwgMSAoU2ltcGxlIG1vZGVsKQogICAgY294ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXStBZ2UrR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBURU1QLkRGKQogICAgY294cGxvdCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gc3RyYXRhKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKStBZ2UrR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBURU1QLkRGKQoKICAgIHBsb3Qoc3VydmZpdChjb3hwbG90KSwgbWFpbiA9IHBhc3RlMCgiQ294IHByb3BvcnRpb25hbCBoYXphcmQgb2YgWyIsZXAsIl0gcGVyIFsiLGVwdGltZSwiXS4iKSwKICAgICAgICAgIyB5bGltID0gYygwLjIsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjNTk1QTVDIiwgIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICB5bGltID0gYygwLCAxKSwgeGxpbSA9IGMoMCwzKSwgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgeWxhYiA9ICJTdXZpdmFsIHByb2JhYmlsaXR5IiwgeGxhYiA9ICJGVSB0aW1lIFt5ZWFyc10iLAogICAgICAgICBtYXJrLnRpbWUgPSBGQUxTRSwgYXhlcyA9IEZBTFNFLCBidHkgPSAibiIpCiAgICBsZWdlbmQoInRvcHJpZ2h0IiwKICAgICAgICAgICBjKCJsb3ciLCAiaGlnaCIpLAogICAgICAgICAgIHRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgICBidHkgPSAibiIpCiAgICBheGlzKHNpZGUgPSAxLCBhdCA9IHNlcSgwLCAzLCBieSA9IDEpKQogICAgYXhpcyhzaWRlID0gMiwgYXQgPSBzZXEoMCwgMSwgYnkgPSAwLjIpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjRHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIuTU9ERUwxLnBkZiIpLCBoZWlnaHQgPSAxMiwgd2lkdGggPSAxMCwgb25lZmlsZSA9IFRSVUUpCiAgICBzaG93KHN1bW1hcnkoY294KSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gd3JpdGluZyB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIHRvIEV4Y2VsLi4uXG4iKSkKCiAgICBDT1gucmVzdWx0cy5URU1QIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTIsIG5yb3cgPSAwKSkKICAgIENPWC5yZXN1bHRzLlRFTVBbMSxdID0gQ09YLlNUQVQoY294LCAiQUVEQi5DRUEiLCBlcCwgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSkKICAgIENPWC5yZXN1bHRzID0gcmJpbmQoQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVApCgogIH0KfQoKY2F0KCItIEVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoQ09YLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJPdXRjb21lIiwgIkNwRyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkJldGEiLCAicy5lLm0uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiSFIiLCAibG93OTVDSSIsICJ1cDk1Q0kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJaLXZhbHVlIiwgIlAtdmFsdWUiLCAiU2FtcGxlU2l6ZSIsICJOX2V2ZW50cyIpCgpjYXQoIi0gQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkNPWC5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRCZXRhKQpDT1gucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRzLmUubS4pCkNPWC5yZXN1bHRzJEhSIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkSFIpCkNPWC5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRsb3c5NUNJKQpDT1gucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyR1cDk1Q0kpCkNPWC5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGBaLXZhbHVlYCkKQ09YLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFAtdmFsdWVgKQpDT1gucmVzdWx0cyRTYW1wbGVTaXplIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkU2FtcGxlU2l6ZSkKQ09YLnJlc3VsdHMkTl9ldmVudHMgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyROX2V2ZW50cykKCkFFREIuQ0VBLkNPWC5yZXN1bHRzIDwtIENPWC5yZXN1bHRzCgojIFNhdmUgdGhlIGRhdGEKY2F0KCItIFdyaXRpbmcgcmVzdWx0cyB0byBFeGNlbC1maWxlLi4uXG4iKQpoZWFkLnN0eWxlIDwtIGNyZWF0ZVN0eWxlKHRleHREZWNvcmF0aW9uID0gIkJPTEQiKQp3cml0ZS54bHN4KEFFREIuQ0VBLkNPWC5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQ294LjJHLk1PREVMMS54bHN4IiksCiAgICAgICAgICAgY3JlYXRvciA9ICJTYW5kZXIgVy4gdmFuIGRlciBMYWFuIiwKICAgICAgICAgICBzaGVldE5hbWUgPSAiUmVzdWx0cyIsIGhlYWRlclN0eWxlID0gaGVhZC5zdHlsZSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgb3ZlcndyaXRlID0gVFJVRSkKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIi0gUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQojcm0oVEVNUC5ERiwgcHJvdGVpbiwgZml0LCBjb3gsIGNveHBsb3QsIENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QLCBoZWFkLnN0eWxlLCBBRURCLkNFQS5DT1gucmVzdWx0cykKCiNybShoZWFkLnN0eWxlKQoKYGBgCgoqTU9ERUwgMioKYGBge3IgQ294LXJlZ3Jlc3Npb24gQW5hbHlzaXM6IE1PREVMIDJ9CiMgU2V0IHVwIGEgZGF0YWZyYW1lIHRvIHJlY2VpdmUgcmVzdWx0cwpDT1gucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCgojIExvb3Bpbmcgb3ZlciBlYWNoIHByb3RlaW4vZW5kcG9pbnQvdGltZSBjb21iaW5hdGlvbgpmb3IgKGkgaW4gMTpsZW5ndGgodGltZXMpKXsKICBlcHRpbWUgPSB0aW1lc1tpXQogIGVwID0gZW5kcG9pbnRzW2ldCiAgY2F0KHBhc3RlMCgiKiBBbmFseXppbmcgdGhlIGVmZmVjdCBvZiBwbGFxdWUgcHJvdGVpbnMgb24gWyIsZXAsIl0uXG4iKSkKICBjYXQoIiAtIGNyZWF0aW5nIHRlbXBvcmFyeSBTRSBmb3IgdGhpcyB3b3JrLlxuIikKICBURU1QLkRGID0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSkKICBjYXQoIiAtIG1ha2luZyBhICdTdXJ2JyBvYmplY3QgYW5kIGFkZGluZyB0aGlzIHRvIHRlbXBvcmFyeSBkYXRhZnJhbWUuXG4iKQogIFRFTVAuREYkZXZlbnQgPC0gYXMuaW50ZWdlcihURU1QLkRGWyxlcF0pCiAgI2FzLmludGVnZXIoVEVNUC5ERlssZXBdID09ICJFeGNsdWRlZCIpCgogIFRFTVAuREYkeSA8LSBTdXJ2KHRpbWUgPSBURU1QLkRGWyxlcHRpbWVdLCBldmVudCA9IFRFTVAuREYkZXZlbnQpCiAgY2F0KCIgLSBtYWtpbmcgc3RyYXRhIG9mIGVhY2ggb2YgdGhlIHBsYXF1ZSBwcm90ZWlucyBhbmQgc3RhcnQgc3Vydml2YWwgYW5hbHlzaXMuXG4iKQogIAogIGZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSl7CiAgICBjYXQocGFzdGUwKCIgICA+IHByb2Nlc3NpbmcgWyIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiXTsgIixwcm90ZWluLCIgb3V0IG9mICIsbGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspLCIgcHJvdGVpbnMuXG4iKSkKICAgICMgc3BsaXR0aW5nIGludG8gdHdvIGdyb3VwcwogICAgVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0gPC0gY3V0MihURU1QLkRGWyxUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dXSwgZyA9IDIpCiAgICBjYXQocGFzdGUwKCIgICA+IGNyb3NzIHRhYnVsYXRpb24gb2YgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgc2hvdyh0YWJsZShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBmaXR0aW5nIHRoZSBtb2RlbCBmb3IgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgZml0IDwtIHN1cnZmaXQoYXMuZm9ybXVsYShwYXN0ZTAoInkgfiAiLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKSksIGRhdGEgPSBURU1QLkRGKQogICAgCiAgICBjYXQocGFzdGUwKCJcbiAgID4gbWFrZSBhIEthcGxhbi1NZWllci1zaGl6emxlLi4uXG4iKSkKICAgICMgbWFrZSBLYXBsYW4tTWVpZXIgY3VydmUgYW5kIHNhdmUgaXQKICAgIHNob3coZ2dzdXJ2cGxvdChmaXQsIGRhdGEgPSBURU1QLkRGLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICAjIHBhbGV0ZSA9IGMoIkY1OUQxMCIsICIjREIwMDNGIiwgIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxpbmV0eXBlID0gYygxLDIpLAogICAgICAgICAgICAgICAgICAgICMgbGluZXR5cGUgPSBjKDEsMiwzLDQpLAogICAgICAgICAgICAgICAgICAgICMgY29uZi5pbnQgPSBGQUxTRSwgY29uZi5pbnQuZmlsbCA9ICIjNTk1QTVDIiwgY29uZi5pbnQuYWxwaGEgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgcHZhbCA9IEZBTFNFLCBwdmFsLm1ldGhvZCA9IEZBTFNFLCBwdmFsLnNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIHJpc2sudGFibGUgPSBUUlVFLCByaXNrLnRhYmxlLnkudGV4dCA9IEZBTFNFLCB0YWJsZXMueS50ZXh0LmNvbCA9IFRSVUUsIGZvbnRzaXplID0gNCwKICAgICAgICAgICAgICAgICAgICBjZW5zb3IgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQgPSAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQubGFicyA9IGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIlJpc2sgb2YgIixlcCwiIiksIHhsYWIgPSAiVGltZSBbeWVhcnNdIiwgZm9udC5tYWluID0gYygxNiwgImJvbGQiLCAiYmxhY2siKSkpCiAgICBkZXYuY29weTJwZGYoZmlsZSA9IHBhc3RlMChDT1hfbG9jLCIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvZGF5LCIuQUVEQi5DRUEuc3Vydml2YWwuIixlcCwiLjJHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIucGRmIiksIHdpZHRoID0gMTIsIGhlaWdodCA9IDEwLCBvbmVmaWxlID0gRkFMU0UpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHBlcmZvcm0gdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSBhbmQgcGxvdCBpdC4uLlxuIikpCiAgICAjIyMgRG8gQ294LXJlZ3Jlc3Npb24gYW5kIHBsb3QgaXQKICAgIAogICAgIyMjIE1PREVMIDIgYWRqdXN0ZWQgZm9yIGFnZSwgc2V4LCBoeXBlcnRlbnNpb24sIGRpYWJldGVzLCBzbW9raW5nLCBMREwtQyBsZXZlbHMsIGxpcGlkLWxvd2VyaW5nIGRydWdzLCBhbnRpcGxhdGVsZXQgZHJ1Z3MsIGVHRlIsIEJNSSwgaGlzdG9yeSBvZiBDVkQsIGxldmVsIG9mIHN0ZW5vc2lzCiAgICBjb3ggPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dK0FnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgZGF0YSA9IFRFTVAuREYpCiAgICBjb3hwbG90ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBzdHJhdGEoVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0pK0FnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgZGF0YSA9IFRFTVAuREYpCgogIAogICAgcGxvdChzdXJ2Zml0KGNveHBsb3QpLCBtYWluID0gcGFzdGUwKCJDb3ggcHJvcG9ydGlvbmFsIGhhemFyZCBvZiBbIixlcCwiXSBwZXIgWyIsZXB0aW1lLCJdLiIpLAogICAgICAgICAjIHlsaW0gPSBjKDAuMiwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiM1OTVBNUMiLCAiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgIHlsaW0gPSBjKDAsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICB5bGFiID0gIlN1dml2YWwgcHJvYmFiaWxpdHkiLCB4bGFiID0gIkZVIHRpbWUgW3llYXJzXSIsCiAgICAgICAgIG1hcmsudGltZSA9IEZBTFNFLCBheGVzID0gRkFMU0UsIGJ0eSA9ICJuIikKICAgIGxlZ2VuZCgidG9wcmlnaHQiLAogICAgICAgICAgIGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIiIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiIiksCiAgICAgICAgICAgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICAgIGJ0eSA9ICJuIikKICAgIGF4aXMoc2lkZSA9IDEsIGF0ID0gc2VxKDAsIDMsIGJ5ID0gMSkpCiAgICBheGlzKHNpZGUgPSAyLCBhdCA9IHNlcSgwLCAxLCBieSA9IDAuMikpCiAgICBkZXYuY29weTJwZGYoZmlsZSA9IHBhc3RlMChDT1hfbG9jLCIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuNEcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi5NT0RFTDIucGRmIiksIGhlaWdodCA9IDEyLCB3aWR0aCA9IDEwLCBvbmVmaWxlID0gVFJVRSkKCiAgICBzaG93KHN1bW1hcnkoY294KSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gd3JpdGluZyB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIHRvIEV4Y2VsLi4uXG4iKSkKCiAgICBDT1gucmVzdWx0cy5URU1QIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTIsIG5yb3cgPSAwKSkKICAgIENPWC5yZXN1bHRzLlRFTVBbMSxdID0gQ09YLlNUQVQoY294LCAiQUVEQi5DRUEiLCBlcCwgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSkKICAgIENPWC5yZXN1bHRzID0gcmJpbmQoQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVApCgogIH0KfQoKY2F0KCItIEVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoQ09YLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJPdXRjb21lIiwgIkNwRyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkJldGEiLCAicy5lLm0uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiSFIiLCAibG93OTVDSSIsICJ1cDk1Q0kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJaLXZhbHVlIiwgIlAtdmFsdWUiLCAiU2FtcGxlU2l6ZSIsICJOX2V2ZW50cyIpCgpjYXQoIi0gQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkNPWC5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRCZXRhKQpDT1gucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRzLmUubS4pCkNPWC5yZXN1bHRzJEhSIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkSFIpCkNPWC5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRsb3c5NUNJKQpDT1gucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyR1cDk1Q0kpCkNPWC5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGBaLXZhbHVlYCkKQ09YLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFAtdmFsdWVgKQpDT1gucmVzdWx0cyRTYW1wbGVTaXplIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkU2FtcGxlU2l6ZSkKQ09YLnJlc3VsdHMkTl9ldmVudHMgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyROX2V2ZW50cykKCkFFREIuQ0VBLkNPWC5yZXN1bHRzIDwtIENPWC5yZXN1bHRzCgojIFNhdmUgdGhlIGRhdGEKY2F0KCItIFdyaXRpbmcgcmVzdWx0cyB0byBFeGNlbC1maWxlLi4uXG4iKQpoZWFkLnN0eWxlIDwtIGNyZWF0ZVN0eWxlKHRleHREZWNvcmF0aW9uID0gIkJPTEQiKQp3cml0ZS54bHN4KEFFREIuQ0VBLkNPWC5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQ294LjJHLk1PREVMMi54bHN4IiksCiAgICAgICAgICAgY3JlYXRvciA9ICJTYW5kZXIgVy4gdmFuIGRlciBMYWFuIiwKICAgICAgICAgICBzaGVldE5hbWUgPSAiUmVzdWx0cyIsIGhlYWRlclN0eWxlID0gaGVhZC5zdHlsZSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgb3ZlcndyaXRlID0gVFJVRSkKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIi0gUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShURU1QLkRGLCBwcm90ZWluLCBmaXQsIGNveCwgY294cGxvdCwgQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVAsIGhlYWQuc3R5bGUsIEFFREIuQ0VBLkNPWC5yZXN1bHRzKQoKcm0oaGVhZC5zdHlsZSkKCmBgYAoKCiMjIyMgMzAtZGF5cyBmb2xsb3ctdXAKCipNT0RFTCAxKgpgYGB7ciBDb3gtcmVncmVzc2lvbiBBbmFseXNpczogU2ltcGxlIG1vZGVsLCAzMCBkYXlzfQojIFNldCB1cCBhIGRhdGFmcmFtZSB0byByZWNlaXZlIHJlc3VsdHMKQ09YLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQoKIyBMb29waW5nIG92ZXIgZWFjaCBwcm90ZWluL2VuZHBvaW50L3RpbWUgY29tYmluYXRpb24KZm9yIChpIGluIDE6bGVuZ3RoKHRpbWVzMzApKXsKICBlcHRpbWUgPSB0aW1lczMwW2ldCiAgZXAgPSBlbmRwb2ludHMzMFtpXQogIGNhdChwYXN0ZTAoIiogQW5hbHl6aW5nIHRoZSBlZmZlY3Qgb2YgcGxhcXVlIHByb3RlaW5zIG9uIFsiLGVwLCJdLlxuIikpCiAgY2F0KCIgLSBjcmVhdGluZyB0ZW1wb3JhcnkgU0UgZm9yIHRoaXMgd29yay5cbiIpCiAgVEVNUC5ERiA9IGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEpCiAgY2F0KCIgLSBtYWtpbmcgYSAnU3Vydicgb2JqZWN0IGFuZCBhZGRpbmcgdGhpcyB0byB0ZW1wb3JhcnkgZGF0YWZyYW1lLlxuIikKICBURU1QLkRGJGV2ZW50IDwtIGFzLmludGVnZXIoVEVNUC5ERlssZXBdKQogIFRFTVAuREYkeSA8LSBTdXJ2KHRpbWUgPSBURU1QLkRGWyxlcHRpbWVdLCBldmVudCA9IFRFTVAuREYkZXZlbnQpCiAgY2F0KCIgLSBtYWtpbmcgc3RyYXRhIG9mIGVhY2ggb2YgdGhlIHBsYXF1ZSBwcm90ZWlucyBhbmQgc3RhcnQgc3Vydml2YWwgYW5hbHlzaXMuXG4iKQogIAogIGZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSl7CiAgICBjYXQocGFzdGUwKCIgICA+IHByb2Nlc3NpbmcgWyIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiXTsgIixwcm90ZWluLCIgb3V0IG9mICIsbGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspLCIgcHJvdGVpbnMuXG4iKSkKICAgICMgc3BsaXR0aW5nIGludG8gdHdvIGdyb3VwcwogICAgVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0gPC0gY3V0MihURU1QLkRGWyxUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dXSwgZyA9IDIpCiAgICBjYXQocGFzdGUwKCIgICA+IGNyb3NzIHRhYnVsYXRpb24gb2YgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgc2hvdyh0YWJsZShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBmaXR0aW5nIHRoZSBtb2RlbCBmb3IgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgZml0IDwtIHN1cnZmaXQoYXMuZm9ybXVsYShwYXN0ZTAoInkgfiAiLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKSksIGRhdGEgPSBURU1QLkRGKQogICAgCiAgICBjYXQocGFzdGUwKCJcbiAgID4gbWFrZSBhIEthcGxhbi1NZWllci1zaGl6emxlLi4uXG4iKSkKICAgICMgbWFrZSBLYXBsYW4tTWVpZXIgY3VydmUgYW5kIHNhdmUgaXQKICAgIHNob3coZ2dzdXJ2cGxvdChmaXQsIGRhdGEgPSBURU1QLkRGLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICAjIHBhbGV0ZSA9IGMoIkY1OUQxMCIsICIjREIwMDNGIiwgIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxpbmV0eXBlID0gYygxLDIpLAogICAgICAgICAgICAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLAogICAgICAgICAgICAgICAgICAgICMgbGluZXR5cGUgPSBjKDEsMiwzLDQpLAogICAgICAgICAgICAgICAgICAgICMgY29uZi5pbnQgPSBGQUxTRSwgY29uZi5pbnQuZmlsbCA9ICIjNTk1QTVDIiwgY29uZi5pbnQuYWxwaGEgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgcHZhbCA9IEZBTFNFLCBwdmFsLm1ldGhvZCA9IEZBTFNFLCBwdmFsLnNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIHJpc2sudGFibGUgPSBUUlVFLCByaXNrLnRhYmxlLnkudGV4dCA9IEZBTFNFLCB0YWJsZXMueS50ZXh0LmNvbCA9IFRSVUUsIGZvbnRzaXplID0gNCwKICAgICAgICAgICAgICAgICAgICBjZW5zb3IgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQgPSAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQubGFicyA9IGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIlJpc2sgb2YgIixlcCwiIiksIHhsYWIgPSAiVGltZSBbZGF5c10iLCBmb250Lm1haW4gPSBjKDE2LCAiYm9sZCIsICJibGFjayIpKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5zdXJ2aXZhbC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi4zMGRheXMucGRmIiksIHdpZHRoID0gMTIsIGhlaWdodCA9IDEwLCBvbmVmaWxlID0gRkFMU0UpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHBlcmZvcm0gdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSBhbmQgcGxvdCBpdC4uLlxuIikpCiAgICAjIyMgRG8gQ294LXJlZ3Jlc3Npb24gYW5kIHBsb3QgaXQKICAgIAogICAgIyMjIE1PREVMIDEgKFNpbXBsZSBtb2RlbCkKICAgIGNveCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0rQWdlK0dlbmRlciArIE9SZGF0ZV95ZWFyLCBkYXRhID0gVEVNUC5ERikKICAgIGNveHBsb3QgPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IHN0cmF0YShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkrQWdlK0dlbmRlciArIE9SZGF0ZV95ZWFyLCBkYXRhID0gVEVNUC5ERikKCiAgICBwbG90KHN1cnZmaXQoY294cGxvdCksIG1haW4gPSBwYXN0ZTAoIkNveCBwcm9wb3J0aW9uYWwgaGF6YXJkIG9mIFsiLGVwLCJdIHBlciBbIixlcHRpbWUsIl0uIiksCiAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjNTk1QTVDIiwgIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAjIHlsaW0gPSBjKDAsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICB5bGFiID0gIlN1dml2YWwgcHJvYmFiaWxpdHkiLCB4bGFiID0gIkZVIHRpbWUgW2RheXNdIiwKICAgICAgICAgbWFyay50aW1lID0gRkFMU0UsIGF4ZXMgPSBGQUxTRSwgYnR5ID0gIm4iKQogICAgbGVnZW5kKCJ0b3ByaWdodCIsCiAgICAgICAgICAgYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgICAgYnR5ID0gIm4iKQogICAgYXhpcyhzaWRlID0gMSwgYXQgPSBzZXEoMCwgMywgYnkgPSAxKSkKICAgIGF4aXMoc2lkZSA9IDIsIGF0ID0gc2VxKDAsIDEsIGJ5ID0gMC4yKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjJHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi40Ry4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLk1PREVMMS4zMGRheXMucGRmIiksIGhlaWdodCA9IDEyLCB3aWR0aCA9IDEwLCBvbmVmaWxlID0gVFJVRSkKICAgIHNob3coc3VtbWFyeShjb3gpKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiB3cml0aW5nIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgdG8gRXhjZWwuLi5cbiIpKQoKICAgIENPWC5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQogICAgQ09YLnJlc3VsdHMuVEVNUFsxLF0gPSBDT1guU1RBVChjb3gsICJBRURCLkNFQSIsIGVwLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKQogICAgQ09YLnJlc3VsdHMgPSByYmluZChDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCkKCiAgfQp9CgpjYXQoIi0gRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhDT1gucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIk91dGNvbWUiLCAiQ3BHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJIUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJTYW1wbGVTaXplIiwgIk5fZXZlbnRzIikKCmNhdCgiLSBDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKQ09YLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEJldGEpCkNPWC5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHMuZS5tLikKQ09YLnJlc3VsdHMkSFIgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRIUikKQ09YLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGxvdzk1Q0kpCkNPWC5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHVwOTVDSSkKQ09YLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFotdmFsdWVgKQpDT1gucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgUC12YWx1ZWApCkNPWC5yZXN1bHRzJFNhbXBsZVNpemUgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRTYW1wbGVTaXplKQpDT1gucmVzdWx0cyROX2V2ZW50cyA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJE5fZXZlbnRzKQoKQUVEQi5DRUEuQ09YLnJlc3VsdHMgPC0gQ09YLnJlc3VsdHMKCiMgU2F2ZSB0aGUgZGF0YQpsaWJyYXJ5KG9wZW54bHN4KQpjYXQoIi0gV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCmhlYWQuc3R5bGUgPC0gY3JlYXRlU3R5bGUodGV4dERlY29yYXRpb24gPSAiQk9MRCIpCndyaXRlLnhsc3goQUVEQi5DRUEuQ09YLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db3guMkcuTU9ERUwxLjMwZGF5cy54bHN4IiksCiAgICAgICAgICAgY3JlYXRvciA9ICJTYW5kZXIgVy4gdmFuIGRlciBMYWFuIiwKICAgICAgICAgICBzaGVldE5hbWUgPSAiUmVzdWx0cyIsIGhlYWRlclN0eWxlID0gaGVhZC5zdHlsZSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgb3ZlcndyaXRlID0gVFJVRSkKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIi0gUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQojcm0oVEVNUC5ERiwgcHJvdGVpbiwgZml0LCBjb3gsIGNveHBsb3QsIENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QLCBoZWFkLnN0eWxlLCBBRURCLkNFQS5DT1gucmVzdWx0cykKCiNybShoZWFkLnN0eWxlKQoKYGBgCgoqTU9ERUwgMioKYGBge3IgQ294LXJlZ3Jlc3Npb24gQW5hbHlzaXM6IE1PREVMIDIsIDMwIGRheXN9CiMgU2V0IHVwIGEgZGF0YWZyYW1lIHRvIHJlY2VpdmUgcmVzdWx0cwpDT1gucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCgojIExvb3Bpbmcgb3ZlciBlYWNoIHByb3RlaW4vZW5kcG9pbnQvdGltZSBjb21iaW5hdGlvbgpmb3IgKGkgaW4gMTpsZW5ndGgodGltZXMzMCkpewogIGVwdGltZSA9IHRpbWVzMzBbaV0KICBlcCA9IGVuZHBvaW50czMwW2ldCiAgY2F0KHBhc3RlMCgiKiBBbmFseXppbmcgdGhlIGVmZmVjdCBvZiBwbGFxdWUgcHJvdGVpbnMgb24gWyIsZXAsIl0uXG4iKSkKICBjYXQoIiAtIGNyZWF0aW5nIHRlbXBvcmFyeSBTRSBmb3IgdGhpcyB3b3JrLlxuIikKICBURU1QLkRGID0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSkKICBjYXQoIiAtIG1ha2luZyBhICdTdXJ2JyBvYmplY3QgYW5kIGFkZGluZyB0aGlzIHRvIHRlbXBvcmFyeSBkYXRhZnJhbWUuXG4iKQogIFRFTVAuREYkZXZlbnQgPC0gYXMuaW50ZWdlcihURU1QLkRGWyxlcF0pCiAgI2FzLmludGVnZXIoVEVNUC5ERlssZXBdID09ICJFeGNsdWRlZCIpCgogIFRFTVAuREYkeSA8LSBTdXJ2KHRpbWUgPSBURU1QLkRGWyxlcHRpbWVdLCBldmVudCA9IFRFTVAuREYkZXZlbnQpCiAgY2F0KCIgLSBtYWtpbmcgc3RyYXRhIG9mIGVhY2ggb2YgdGhlIHBsYXF1ZSBwcm90ZWlucyBhbmQgc3RhcnQgc3Vydml2YWwgYW5hbHlzaXMuXG4iKQogIAogIGZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSl7CiAgICBjYXQocGFzdGUwKCIgICA+IHByb2Nlc3NpbmcgWyIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiXTsgIixwcm90ZWluLCIgb3V0IG9mICIsbGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspLCIgcHJvdGVpbnMuXG4iKSkKICAgICMgc3BsaXR0aW5nIGludG8gdHdvIGdyb3VwcwogICAgVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0gPC0gY3V0MihURU1QLkRGWyxUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dXSwgZyA9IDIpCiAgICBjYXQocGFzdGUwKCIgICA+IGNyb3NzIHRhYnVsYXRpb24gb2YgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgc2hvdyh0YWJsZShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBmaXR0aW5nIHRoZSBtb2RlbCBmb3IgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgZml0IDwtIHN1cnZmaXQoYXMuZm9ybXVsYShwYXN0ZTAoInkgfiAiLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKSksIGRhdGEgPSBURU1QLkRGKQogICAgCiAgICBjYXQocGFzdGUwKCJcbiAgID4gbWFrZSBhIEthcGxhbi1NZWllci1zaGl6emxlLi4uXG4iKSkKICAgICMgbWFrZSBLYXBsYW4tTWVpZXIgY3VydmUgYW5kIHNhdmUgaXQKICAgIHNob3coZ2dzdXJ2cGxvdChmaXQsIGRhdGEgPSBURU1QLkRGLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICAjIHBhbGV0ZSA9IGMoIkY1OUQxMCIsICIjREIwMDNGIiwgIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxpbmV0eXBlID0gYygxLDIpLAogICAgICAgICAgICAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLAogICAgICAgICAgICAgICAgICAgICMgbGluZXR5cGUgPSBjKDEsMiwzLDQpLAogICAgICAgICAgICAgICAgICAgICMgY29uZi5pbnQgPSBGQUxTRSwgY29uZi5pbnQuZmlsbCA9ICIjNTk1QTVDIiwgY29uZi5pbnQuYWxwaGEgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgcHZhbCA9IEZBTFNFLCBwdmFsLm1ldGhvZCA9IEZBTFNFLCBwdmFsLnNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIHJpc2sudGFibGUgPSBUUlVFLCByaXNrLnRhYmxlLnkudGV4dCA9IEZBTFNFLCB0YWJsZXMueS50ZXh0LmNvbCA9IFRSVUUsIGZvbnRzaXplID0gNCwKICAgICAgICAgICAgICAgICAgICBjZW5zb3IgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQgPSAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQubGFicyA9IGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIlJpc2sgb2YgIixlcCwiIiksIHhsYWIgPSAiVGltZSBbZGF5c10iLCBmb250Lm1haW4gPSBjKDE2LCAiYm9sZCIsICJibGFjayIpKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5zdXJ2aXZhbC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi4zMGRheXMucGRmIiksIHdpZHRoID0gMTIsIGhlaWdodCA9IDEwLCBvbmVmaWxlID0gRkFMU0UpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHBlcmZvcm0gdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSBhbmQgcGxvdCBpdC4uLlxuIikpCiAgICAjIyMgRG8gQ294LXJlZ3Jlc3Npb24gYW5kIHBsb3QgaXQKICAgIAogICAgIyMjIE1PREVMIDIgYWRqdXN0ZWQgZm9yIGFnZSwgc2V4LCBoeXBlcnRlbnNpb24sIGRpYWJldGVzLCBzbW9raW5nLCBMREwtQyBsZXZlbHMsIGxpcGlkLWxvd2VyaW5nIGRydWdzLCBhbnRpcGxhdGVsZXQgZHJ1Z3MsIGVHRlIsIEJNSSwgaGlzdG9yeSBvZiBDVkQsIGxldmVsIG9mIHN0ZW5vc2lzCiAgICBjb3ggPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dK0FnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgZGF0YSA9IFRFTVAuREYpCiAgICBjb3hwbG90ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBzdHJhdGEoVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0pK0FnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgZGF0YSA9IFRFTVAuREYpCgogIAogICAgcGxvdChzdXJ2Zml0KGNveHBsb3QpLCBtYWluID0gcGFzdGUwKCJDb3ggcHJvcG9ydGlvbmFsIGhhemFyZCBvZiBbIixlcCwiXSBwZXIgWyIsZXB0aW1lLCJdLiIpLAogICAgICAgICB5bGltID0gYygwLjc1LCAxKSwgeGxpbSA9IGMoMCwzKSwgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICMgeWxpbSA9IGMoMCwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgIHlsYWIgPSAiU3V2aXZhbCBwcm9iYWJpbGl0eSIsIHhsYWIgPSAiRlUgdGltZSBbZGF5c10iLAogICAgICAgICBtYXJrLnRpbWUgPSBGQUxTRSwgYXhlcyA9IEZBTFNFLCBidHkgPSAibiIpCiAgICBsZWdlbmQoInRvcHJpZ2h0IiwKICAgICAgICAgICBjKCJsb3ciLCAiaGlnaCIpLAogICAgICAgICAgIHRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgICBidHkgPSAibiIpCiAgICBheGlzKHNpZGUgPSAxLCBhdCA9IHNlcSgwLCAzLCBieSA9IDEpKQogICAgYXhpcyhzaWRlID0gMiwgYXQgPSBzZXEoMCwgMSwgYnkgPSAwLjIpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjRHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIuTU9ERUwyLjMwZGF5cy5wZGYiKSwgaGVpZ2h0ID0gMTIsIHdpZHRoID0gMTAsIG9uZWZpbGUgPSBUUlVFKQoKICAgIHNob3coc3VtbWFyeShjb3gpKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiB3cml0aW5nIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgdG8gRXhjZWwuLi5cbiIpKQoKICAgIENPWC5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQogICAgQ09YLnJlc3VsdHMuVEVNUFsxLF0gPSBDT1guU1RBVChjb3gsICJBRURCLkNFQSIsIGVwLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKQogICAgQ09YLnJlc3VsdHMgPSByYmluZChDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCkKCiAgfQp9CgpjYXQoIi0gRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhDT1gucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIk91dGNvbWUiLCAiQ3BHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJIUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJTYW1wbGVTaXplIiwgIk5fZXZlbnRzIikKCmNhdCgiLSBDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKQ09YLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEJldGEpCkNPWC5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHMuZS5tLikKQ09YLnJlc3VsdHMkSFIgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRIUikKQ09YLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGxvdzk1Q0kpCkNPWC5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHVwOTVDSSkKQ09YLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFotdmFsdWVgKQpDT1gucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgUC12YWx1ZWApCkNPWC5yZXN1bHRzJFNhbXBsZVNpemUgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRTYW1wbGVTaXplKQpDT1gucmVzdWx0cyROX2V2ZW50cyA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJE5fZXZlbnRzKQoKQUVEQi5DRUEuQ09YLnJlc3VsdHMgPC0gQ09YLnJlc3VsdHMKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIi0gV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCmhlYWQuc3R5bGUgPC0gY3JlYXRlU3R5bGUodGV4dERlY29yYXRpb24gPSAiQk9MRCIpCndyaXRlLnhsc3goQUVEQi5DRUEuQ09YLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db3guMkcuTU9ERUwyLjMwZGF5cy54bHN4IiksCiAgICAgICAgICAgY3JlYXRvciA9ICJTYW5kZXIgVy4gdmFuIGRlciBMYWFuIiwKICAgICAgICAgICBzaGVldE5hbWUgPSAiUmVzdWx0cyIsIGhlYWRlclN0eWxlID0gaGVhZC5zdHlsZSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgb3ZlcndyaXRlID0gVFJVRSkKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIi0gUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShURU1QLkRGLCBwcm90ZWluLCBmaXQsIGNveCwgY294cGxvdCwgQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVAsIGhlYWQuc3R5bGUsIEFFREIuQ0VBLkNPWC5yZXN1bHRzKQoKcm0oaGVhZC5zdHlsZSkKCmBgYAoKCiMjIyMgOTAtZGF5cyBmb2xsb3ctdXAKCipNT0RFTCAxKgpgYGB7ciBDb3gtcmVncmVzc2lvbiBBbmFseXNpczogU2ltcGxlIG1vZGVsLCA5MCBkYXlzfQojIFNldCB1cCBhIGRhdGFmcmFtZSB0byByZWNlaXZlIHJlc3VsdHMKQ09YLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQoKIyBMb29waW5nIG92ZXIgZWFjaCBwcm90ZWluL2VuZHBvaW50L3RpbWUgY29tYmluYXRpb24KZm9yIChpIGluIDE6bGVuZ3RoKHRpbWVzOTApKXsKICBlcHRpbWUgPSB0aW1lczkwW2ldCiAgZXAgPSBlbmRwb2ludHM5MFtpXQogIGNhdChwYXN0ZTAoIiogQW5hbHl6aW5nIHRoZSBlZmZlY3Qgb2YgcGxhcXVlIHByb3RlaW5zIG9uIFsiLGVwLCJdLlxuIikpCiAgY2F0KCIgLSBjcmVhdGluZyB0ZW1wb3JhcnkgU0UgZm9yIHRoaXMgd29yay5cbiIpCiAgVEVNUC5ERiA9IGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEpCiAgY2F0KCIgLSBtYWtpbmcgYSAnU3Vydicgb2JqZWN0IGFuZCBhZGRpbmcgdGhpcyB0byB0ZW1wb3JhcnkgZGF0YWZyYW1lLlxuIikKICBURU1QLkRGJGV2ZW50IDwtIGFzLmludGVnZXIoVEVNUC5ERlssZXBdKQogIFRFTVAuREYkeSA8LSBTdXJ2KHRpbWUgPSBURU1QLkRGWyxlcHRpbWVdLCBldmVudCA9IFRFTVAuREYkZXZlbnQpCiAgY2F0KCIgLSBtYWtpbmcgc3RyYXRhIG9mIGVhY2ggb2YgdGhlIHBsYXF1ZSBwcm90ZWlucyBhbmQgc3RhcnQgc3Vydml2YWwgYW5hbHlzaXMuXG4iKQogIAogIGZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSl7CiAgICBjYXQocGFzdGUwKCIgICA+IHByb2Nlc3NpbmcgWyIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiXTsgIixwcm90ZWluLCIgb3V0IG9mICIsbGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspLCIgcHJvdGVpbnMuXG4iKSkKICAgICMgc3BsaXR0aW5nIGludG8gdHdvIGdyb3VwcwogICAgVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0gPC0gY3V0MihURU1QLkRGWyxUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dXSwgZyA9IDIpCiAgICBjYXQocGFzdGUwKCIgICA+IGNyb3NzIHRhYnVsYXRpb24gb2YgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgc2hvdyh0YWJsZShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBmaXR0aW5nIHRoZSBtb2RlbCBmb3IgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgZml0IDwtIHN1cnZmaXQoYXMuZm9ybXVsYShwYXN0ZTAoInkgfiAiLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKSksIGRhdGEgPSBURU1QLkRGKQogICAgCiAgICBjYXQocGFzdGUwKCJcbiAgID4gbWFrZSBhIEthcGxhbi1NZWllci1zaGl6emxlLi4uXG4iKSkKICAgICMgbWFrZSBLYXBsYW4tTWVpZXIgY3VydmUgYW5kIHNhdmUgaXQKICAgIHNob3coZ2dzdXJ2cGxvdChmaXQsIGRhdGEgPSBURU1QLkRGLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICAjIHBhbGV0ZSA9IGMoIkY1OUQxMCIsICIjREIwMDNGIiwgIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxpbmV0eXBlID0gYygxLDIpLAogICAgICAgICAgICAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLAogICAgICAgICAgICAgICAgICAgICMgbGluZXR5cGUgPSBjKDEsMiwzLDQpLAogICAgICAgICAgICAgICAgICAgICMgY29uZi5pbnQgPSBGQUxTRSwgY29uZi5pbnQuZmlsbCA9ICIjNTk1QTVDIiwgY29uZi5pbnQuYWxwaGEgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgcHZhbCA9IEZBTFNFLCBwdmFsLm1ldGhvZCA9IEZBTFNFLCBwdmFsLnNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIHJpc2sudGFibGUgPSBUUlVFLCByaXNrLnRhYmxlLnkudGV4dCA9IEZBTFNFLCB0YWJsZXMueS50ZXh0LmNvbCA9IFRSVUUsIGZvbnRzaXplID0gNCwKICAgICAgICAgICAgICAgICAgICBjZW5zb3IgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQgPSAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQubGFicyA9IGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIlJpc2sgb2YgIixlcCwiIiksIHhsYWIgPSAiVGltZSBbZGF5c10iLCBmb250Lm1haW4gPSBjKDE2LCAiYm9sZCIsICJibGFjayIpKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5zdXJ2aXZhbC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi45MGRheXMucGRmIiksIHdpZHRoID0gMTIsIGhlaWdodCA9IDEwLCBvbmVmaWxlID0gRkFMU0UpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHBlcmZvcm0gdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSBhbmQgcGxvdCBpdC4uLlxuIikpCiAgICAjIyMgRG8gQ294LXJlZ3Jlc3Npb24gYW5kIHBsb3QgaXQKICAgIAogICAgIyMjIE1PREVMIDEgKFNpbXBsZSBtb2RlbCkKICAgIGNveCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0rQWdlK0dlbmRlciArIE9SZGF0ZV95ZWFyLCBkYXRhID0gVEVNUC5ERikKICAgIGNveHBsb3QgPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IHN0cmF0YShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkrQWdlK0dlbmRlciArIE9SZGF0ZV95ZWFyLCBkYXRhID0gVEVNUC5ERikKCiAgICBwbG90KHN1cnZmaXQoY294cGxvdCksIG1haW4gPSBwYXN0ZTAoIkNveCBwcm9wb3J0aW9uYWwgaGF6YXJkIG9mIFsiLGVwLCJdIHBlciBbIixlcHRpbWUsIl0uIiksCiAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjNTk1QTVDIiwgIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAjIHlsaW0gPSBjKDAsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICB5bGFiID0gIlN1dml2YWwgcHJvYmFiaWxpdHkiLCB4bGFiID0gIkZVIHRpbWUgW2RheXNdIiwKICAgICAgICAgbWFyay50aW1lID0gRkFMU0UsIGF4ZXMgPSBGQUxTRSwgYnR5ID0gIm4iKQogICAgbGVnZW5kKCJ0b3ByaWdodCIsCiAgICAgICAgICAgYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgICAgYnR5ID0gIm4iKQogICAgYXhpcyhzaWRlID0gMSwgYXQgPSBzZXEoMCwgMywgYnkgPSAxKSkKICAgIGF4aXMoc2lkZSA9IDIsIGF0ID0gc2VxKDAsIDEsIGJ5ID0gMC4yKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjJHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi40Ry4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLk1PREVMMS45MGRheXMucGRmIiksIGhlaWdodCA9IDEyLCB3aWR0aCA9IDEwLCBvbmVmaWxlID0gVFJVRSkKICAgIHNob3coc3VtbWFyeShjb3gpKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiB3cml0aW5nIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgdG8gRXhjZWwuLi5cbiIpKQoKICAgIENPWC5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQogICAgQ09YLnJlc3VsdHMuVEVNUFsxLF0gPSBDT1guU1RBVChjb3gsICJBRURCLkNFQSIsIGVwLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKQogICAgQ09YLnJlc3VsdHMgPSByYmluZChDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCkKCiAgfQp9CgpjYXQoIi0gRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhDT1gucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIk91dGNvbWUiLCAiQ3BHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJIUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJTYW1wbGVTaXplIiwgIk5fZXZlbnRzIikKCmNhdCgiLSBDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKQ09YLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEJldGEpCkNPWC5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHMuZS5tLikKQ09YLnJlc3VsdHMkSFIgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRIUikKQ09YLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGxvdzk1Q0kpCkNPWC5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHVwOTVDSSkKQ09YLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFotdmFsdWVgKQpDT1gucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgUC12YWx1ZWApCkNPWC5yZXN1bHRzJFNhbXBsZVNpemUgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRTYW1wbGVTaXplKQpDT1gucmVzdWx0cyROX2V2ZW50cyA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJE5fZXZlbnRzKQoKQUVEQi5DRUEuQ09YLnJlc3VsdHMgPC0gQ09YLnJlc3VsdHMKCiMgU2F2ZSB0aGUgZGF0YQpsaWJyYXJ5KG9wZW54bHN4KQpjYXQoIi0gV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCmhlYWQuc3R5bGUgPC0gY3JlYXRlU3R5bGUodGV4dERlY29yYXRpb24gPSAiQk9MRCIpCndyaXRlLnhsc3goQUVEQi5DRUEuQ09YLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db3guMkcuTU9ERUwxLjkwZGF5cy54bHN4IiksCiAgICAgICAgICAgY3JlYXRvciA9ICJTYW5kZXIgVy4gdmFuIGRlciBMYWFuIiwKICAgICAgICAgICBzaGVldE5hbWUgPSAiUmVzdWx0cyIsIGhlYWRlclN0eWxlID0gaGVhZC5zdHlsZSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgb3ZlcndyaXRlID0gVFJVRSkKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIi0gUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQojcm0oVEVNUC5ERiwgcHJvdGVpbiwgZml0LCBjb3gsIGNveHBsb3QsIENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QLCBoZWFkLnN0eWxlLCBBRURCLkNFQS5DT1gucmVzdWx0cykKCiNybShoZWFkLnN0eWxlKQoKYGBgCgoqTU9ERUwgMioKYGBge3IgQ294LXJlZ3Jlc3Npb24gQW5hbHlzaXM6IE1PREVMIDIsIDkwIGRheXN9CiMgU2V0IHVwIGEgZGF0YWZyYW1lIHRvIHJlY2VpdmUgcmVzdWx0cwpDT1gucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCgojIExvb3Bpbmcgb3ZlciBlYWNoIHByb3RlaW4vZW5kcG9pbnQvdGltZSBjb21iaW5hdGlvbgpmb3IgKGkgaW4gMTpsZW5ndGgodGltZXM5MCkpewogIGVwdGltZSA9IHRpbWVzOTBbaV0KICBlcCA9IGVuZHBvaW50czkwW2ldCiAgY2F0KHBhc3RlMCgiKiBBbmFseXppbmcgdGhlIGVmZmVjdCBvZiBwbGFxdWUgcHJvdGVpbnMgb24gWyIsZXAsIl0uXG4iKSkKICBjYXQoIiAtIGNyZWF0aW5nIHRlbXBvcmFyeSBTRSBmb3IgdGhpcyB3b3JrLlxuIikKICBURU1QLkRGID0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSkKICBjYXQoIiAtIG1ha2luZyBhICdTdXJ2JyBvYmplY3QgYW5kIGFkZGluZyB0aGlzIHRvIHRlbXBvcmFyeSBkYXRhZnJhbWUuXG4iKQogIFRFTVAuREYkZXZlbnQgPC0gYXMuaW50ZWdlcihURU1QLkRGWyxlcF0pCiAgI2FzLmludGVnZXIoVEVNUC5ERlssZXBdID09ICJFeGNsdWRlZCIpCgogIFRFTVAuREYkeSA8LSBTdXJ2KHRpbWUgPSBURU1QLkRGWyxlcHRpbWVdLCBldmVudCA9IFRFTVAuREYkZXZlbnQpCiAgY2F0KCIgLSBtYWtpbmcgc3RyYXRhIG9mIGVhY2ggb2YgdGhlIHBsYXF1ZSBwcm90ZWlucyBhbmQgc3RhcnQgc3Vydml2YWwgYW5hbHlzaXMuXG4iKQogIAogIGZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSl7CiAgICBjYXQocGFzdGUwKCIgICA+IHByb2Nlc3NpbmcgWyIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiXTsgIixwcm90ZWluLCIgb3V0IG9mICIsbGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspLCIgcHJvdGVpbnMuXG4iKSkKICAgICMgc3BsaXR0aW5nIGludG8gdHdvIGdyb3VwcwogICAgVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0gPC0gY3V0MihURU1QLkRGWyxUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dXSwgZyA9IDIpCiAgICBjYXQocGFzdGUwKCIgICA+IGNyb3NzIHRhYnVsYXRpb24gb2YgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgc2hvdyh0YWJsZShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBmaXR0aW5nIHRoZSBtb2RlbCBmb3IgIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCItc3RyYXR1bS5cbiIpKQogICAgZml0IDwtIHN1cnZmaXQoYXMuZm9ybXVsYShwYXN0ZTAoInkgfiAiLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKSksIGRhdGEgPSBURU1QLkRGKQogICAgCiAgICBjYXQocGFzdGUwKCJcbiAgID4gbWFrZSBhIEthcGxhbi1NZWllci1zaGl6emxlLi4uXG4iKSkKICAgICMgbWFrZSBLYXBsYW4tTWVpZXIgY3VydmUgYW5kIHNhdmUgaXQKICAgIHNob3coZ2dzdXJ2cGxvdChmaXQsIGRhdGEgPSBURU1QLkRGLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICAjIHBhbGV0ZSA9IGMoIkY1OUQxMCIsICIjREIwMDNGIiwgIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxpbmV0eXBlID0gYygxLDIpLAogICAgICAgICAgICAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLAogICAgICAgICAgICAgICAgICAgICMgbGluZXR5cGUgPSBjKDEsMiwzLDQpLAogICAgICAgICAgICAgICAgICAgICMgY29uZi5pbnQgPSBGQUxTRSwgY29uZi5pbnQuZmlsbCA9ICIjNTk1QTVDIiwgY29uZi5pbnQuYWxwaGEgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgcHZhbCA9IEZBTFNFLCBwdmFsLm1ldGhvZCA9IEZBTFNFLCBwdmFsLnNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIHJpc2sudGFibGUgPSBUUlVFLCByaXNrLnRhYmxlLnkudGV4dCA9IEZBTFNFLCB0YWJsZXMueS50ZXh0LmNvbCA9IFRSVUUsIGZvbnRzaXplID0gNCwKICAgICAgICAgICAgICAgICAgICBjZW5zb3IgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQgPSAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQubGFicyA9IGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIlJpc2sgb2YgIixlcCwiIiksIHhsYWIgPSAiVGltZSBbZGF5c10iLCBmb250Lm1haW4gPSBjKDE2LCAiYm9sZCIsICJibGFjayIpKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5zdXJ2aXZhbC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi45MGRheXMucGRmIiksIHdpZHRoID0gMTIsIGhlaWdodCA9IDEwLCBvbmVmaWxlID0gRkFMU0UpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHBlcmZvcm0gdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSBhbmQgcGxvdCBpdC4uLlxuIikpCiAgICAjIyMgRG8gQ294LXJlZ3Jlc3Npb24gYW5kIHBsb3QgaXQKICAgIAogICAgIyMjIE1PREVMIDIgYWRqdXN0ZWQgZm9yIGFnZSwgc2V4LCBoeXBlcnRlbnNpb24sIGRpYWJldGVzLCBzbW9raW5nLCBMREwtQyBsZXZlbHMsIGxpcGlkLWxvd2VyaW5nIGRydWdzLCBhbnRpcGxhdGVsZXQgZHJ1Z3MsIGVHRlIsIEJNSSwgaGlzdG9yeSBvZiBDVkQsIGxldmVsIG9mIHN0ZW5vc2lzCiAgICBjb3ggPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dK0FnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgZGF0YSA9IFRFTVAuREYpCiAgICBjb3hwbG90ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBzdHJhdGEoVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0pK0FnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgZGF0YSA9IFRFTVAuREYpCgogIAogICAgcGxvdChzdXJ2Zml0KGNveHBsb3QpLCBtYWluID0gcGFzdGUwKCJDb3ggcHJvcG9ydGlvbmFsIGhhemFyZCBvZiBbIixlcCwiXSBwZXIgWyIsZXB0aW1lLCJdLiIpLAogICAgICAgICB5bGltID0gYygwLjc1LCAxKSwgeGxpbSA9IGMoMCwzKSwgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICMgeWxpbSA9IGMoMCwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgIHlsYWIgPSAiU3V2aXZhbCBwcm9iYWJpbGl0eSIsIHhsYWIgPSAiRlUgdGltZSBbZGF5c10iLAogICAgICAgICBtYXJrLnRpbWUgPSBGQUxTRSwgYXhlcyA9IEZBTFNFLCBidHkgPSAibiIpCiAgICBsZWdlbmQoInRvcHJpZ2h0IiwKICAgICAgICAgICBjKCJsb3ciLCAiaGlnaCIpLAogICAgICAgICAgIHRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgICBidHkgPSAibiIpCiAgICBheGlzKHNpZGUgPSAxLCBhdCA9IHNlcSgwLCAzLCBieSA9IDEpKQogICAgYXhpcyhzaWRlID0gMiwgYXQgPSBzZXEoMCwgMSwgYnkgPSAwLjIpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjRHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIuTU9ERUwyLjkwZGF5cy5wZGYiKSwgaGVpZ2h0ID0gMTIsIHdpZHRoID0gMTAsIG9uZWZpbGUgPSBUUlVFKQoKICAgIHNob3coc3VtbWFyeShjb3gpKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiB3cml0aW5nIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgdG8gRXhjZWwuLi5cbiIpKQoKICAgIENPWC5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQogICAgQ09YLnJlc3VsdHMuVEVNUFsxLF0gPSBDT1guU1RBVChjb3gsICJBRURCLkNFQSIsIGVwLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKQogICAgQ09YLnJlc3VsdHMgPSByYmluZChDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCkKCiAgfQp9CgpjYXQoIi0gRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhDT1gucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIk91dGNvbWUiLCAiQ3BHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJIUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJTYW1wbGVTaXplIiwgIk5fZXZlbnRzIikKCmNhdCgiLSBDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKQ09YLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEJldGEpCkNPWC5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHMuZS5tLikKQ09YLnJlc3VsdHMkSFIgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRIUikKQ09YLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGxvdzk1Q0kpCkNPWC5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHVwOTVDSSkKQ09YLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFotdmFsdWVgKQpDT1gucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgUC12YWx1ZWApCkNPWC5yZXN1bHRzJFNhbXBsZVNpemUgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRTYW1wbGVTaXplKQpDT1gucmVzdWx0cyROX2V2ZW50cyA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJE5fZXZlbnRzKQoKQUVEQi5DRUEuQ09YLnJlc3VsdHMgPC0gQ09YLnJlc3VsdHMKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIi0gV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCmhlYWQuc3R5bGUgPC0gY3JlYXRlU3R5bGUodGV4dERlY29yYXRpb24gPSAiQk9MRCIpCndyaXRlLnhsc3goQUVEQi5DRUEuQ09YLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db3guMkcuTU9ERUwyLjkwZGF5cy54bHN4IiksCiAgICAgICAgICAgY3JlYXRvciA9ICJTYW5kZXIgVy4gdmFuIGRlciBMYWFuIiwKICAgICAgICAgICBzaGVldE5hbWUgPSAiUmVzdWx0cyIsIGhlYWRlclN0eWxlID0gaGVhZC5zdHlsZSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgb3ZlcndyaXRlID0gVFJVRSkKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIi0gUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShURU1QLkRGLCBwcm90ZWluLCBmaXQsIGNveCwgY294cGxvdCwgQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVAsIGhlYWQuc3R5bGUsIEFFREIuQ0VBLkNPWC5yZXN1bHRzKQoKcm0oaGVhZC5zdHlsZSkKCmBgYAoKCgojIENvcnJlbGF0aW9ucwoKIyMgQWxsIGJpb21hcmtlcnMKV2UgY29ycmVsYXRlZCBwbGFzbWEgYW5kIHBsYXF1ZSBsZXZlbHMgb2YgdGhlIGJpb21hcmtlcnMuCgpgYGB7ciBDcm9zc1NhbXBsZVR5cGUgQ29ycmVsYXRpb25zfQoKIyBJbnN0YWxsYXRpb24gb2YgZ2djb3JycGxvdCgpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoIXJlcXVpcmUoZGV2dG9vbHMpKSAKICBpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpCmRldnRvb2xzOjppbnN0YWxsX2dpdGh1Yigia2Fzc2FtYmFyYS9nZ2NvcnJwbG90IikKCmxpYnJhcnkoZ2djb3JycGxvdCkKCgojIENyZWF0aW5nIG1hdHJpeCAtIGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsIAojICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ID0gYygiSUw2X3JhbmsiLCAiTUNQMV9yYW5rIiwgIklMNl9wZ191Z18yMDE1X3JhbmsiLCAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAiSUw2Ul9wZ191Z18yMDE1X3JhbmsiLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKIyBBRURCLkNFQS50ZW1wIDwtIHN1YnNldChBRURCLkNFQSwgCiMgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgPSBjKCJNQ1AxX3JhbmsiLCAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9IGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuQklOLCBUUkFJVFMuQ09OLlJBTkspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCgpBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUpCkFFREIuQ0VBLnRlbXAkQ29sbGFnZW5QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENvbGxhZ2VuUGxhcXVlKQpBRURCLkNFQS50ZW1wJEZhdDEwUGVyYyA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkRmF0MTBQZXJjKQpBRURCLkNFQS50ZW1wJElQSCA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkSVBIKQpBRURCLkNFQS50ZW1wJE1BQ19iaW5uZWQgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJE1BQ19iaW5uZWQpCkFFREIuQ0VBLnRlbXAkU01DX2Jpbm5lZCA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkU01DX2Jpbm5lZCkKc3RyKEFFREIuQ0VBLnRlbXApCkFFREIuQ0VBLm1hdHJpeC5SQU5LIDwtIGFzLm1hdHJpeChBRURCLkNFQS50ZW1wKQpybShBRURCLkNFQS50ZW1wKQoKY29ycl9iaW9tYXJrZXJzLnJhbmsgPC0gcm91bmQoY29yKEFFREIuQ0VBLm1hdHJpeC5SQU5LLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgPSAicGFpcndpc2UuY29tcGxldGUub2JzIiwgI3RoZSBjb3JyZWxhdGlvbiBvciBjb3ZhcmlhbmNlIGJldHdlZW4gZWFjaCBwYWlyIG9mIHZhcmlhYmxlcyBpcyBjb21wdXRlZCB1c2luZyBhbGwgY29tcGxldGUgcGFpcnMgb2Ygb2JzZXJ2YXRpb25zIG9uIHRob3NlIHZhcmlhYmxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJzcGVhcm1hbiIpLCAzKQojIGNvcnJfYmlvbWFya2Vycy5yYW5rCgpjb3JyX2Jpb21hcmtlcnNfcC5yYW5rIDwtIGdnY29ycnBsb3Q6OmNvcl9wbWF0KEFFREIuQ0VBLm1hdHJpeC5SQU5LLCB1c2UgPSAicGFpcndpc2UuY29tcGxldGUub2JzIiwgbWV0aG9kID0gInNwZWFybWFuIikKCiMgQWRkIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgYXJndW1lbnQgbGFiID0gVFJVRQpnZ2NvcnJwbG90KGNvcnJfYmlvbWFya2Vycy5yYW5rLCAKICAgICAgICAgICBtZXRob2QgPSAic3F1YXJlIiwgCiAgICAgICAgICAgdHlwZSA9ICJsb3dlciIsCiAgICAgICAgICAgdGl0bGUgPSAiQ3Jvc3MgYmlvbWFya2VyIGNvcnJlbGF0aW9ucyIsIAogICAgICAgICAgIHNob3cubGVnZW5kID0gVFJVRSwgbGVnZW5kLnRpdGxlID0gYnF1b3RlKCJTcGVhcm1hbidzIn5pdGFsaWMocmhvKSksCiAgICAgICAgICAgZ2d0aGVtZSA9IGdncGxvdDI6OnRoZW1lX21pbmltYWwsIG91dGxpbmUuY29sb3IgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgc2hvdy5kaWFnID0gVFJVRSwKICAgICAgICAgICBoYy5vcmRlciA9IEZBTFNFLCAKICAgICAgICAgICBsYWIgPSBGQUxTRSwKICAgICAgICAgICBkaWdpdHMgPSAzLAogICAgICAgICAgICMgcC5tYXQgPSBjb3JyX2Jpb21hcmtlcnNfcC5yYW5rLCBzaWcubGV2ZWwgPSAwLjA1LAogICAgICAgICAgIGNvbG9ycyA9IGMoIiMxMjkwRDkiLCAiI0ZGRkZGRiIsICIjRTU1NzM4IikpCgoKIyBmbGF0dGVuQ29yck1hdHJpeAojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29ybWF0IDogbWF0cml4IG9mIHRoZSBjb3JyZWxhdGlvbiBjb2VmZmljaWVudHMKIyBwbWF0IDogbWF0cml4IG9mIHRoZSBjb3JyZWxhdGlvbiBwLXZhbHVlcwpmbGF0dGVuQ29yck1hdHJpeCA8LSBmdW5jdGlvbihjb3JtYXQsIHBtYXQpIHsKICB1dCA8LSB1cHBlci50cmkoY29ybWF0KQogIGRhdGEuZnJhbWUoCiAgICBiaW9tYXJrZXJfcm93ID0gcm93bmFtZXMoY29ybWF0KVtyb3coY29ybWF0KVt1dF1dLAogICAgYmlvbWFya2VyX2NvbHVtbiA9IHJvd25hbWVzKGNvcm1hdClbY29sKGNvcm1hdClbdXRdXSwKICAgIHNwZWFybWFuX2NvciAgPShjb3JtYXQpW3V0XSwKICAgIHB2YWwgPSBwbWF0W3V0XQogICAgKQp9Cgpjb3JyX2Jpb21hcmtlcnMucmFuay5kZiA8LSBhcy5kYXRhLnRhYmxlKGZsYXR0ZW5Db3JyTWF0cml4KGNvcnJfYmlvbWFya2Vycy5yYW5rLCBjb3JyX2Jpb21hcmtlcnNfcC5yYW5rKSkKRFQ6OmRhdGF0YWJsZShjb3JyX2Jpb21hcmtlcnMucmFuay5kZikKCiMgY2hhcnQgb2YgYSBjb3JyZWxhdGlvbiBtYXRyaXgKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFsdGVybmF0aXZlIHNvbHV0aW9uIGh0dHBzOi8vd3d3LnItZ3JhcGgtZ2FsbGVyeS5jb20vMTk5LWNvcnJlbGF0aW9uLW1hdHJpeC13aXRoLWdnYWxseS5odG1sCmluc3RhbGwucGFja2FnZXMuYXV0bygiUGVyZm9ybWFuY2VBbmFseXRpY3MiKQpjaGFydC5Db3JyZWxhdGlvbi5uZXcgPC0gZnVuY3Rpb24gKFIsIGhpc3RvZ3JhbSA9IFRSVUUsIG1ldGhvZCA9IGMoInBlYXJzb24iLCAia2VuZGFsbCIsIAogICAgInNwZWFybWFuIiksIC4uLikgCnsKICAgIHggPSBjaGVja0RhdGEoUiwgbWV0aG9kID0gIm1hdHJpeCIpCiAgICBpZiAobWlzc2luZyhtZXRob2QpKSAKICAgICAgICBtZXRob2QgPSBtZXRob2RbMV0KICAgIGNvcm1ldGggPC0gbWV0aG9kCiAgICBwYW5lbC5jb3IgPC0gZnVuY3Rpb24oeCwgeSwgZGlnaXRzID0gMiwgcHJlZml4ID0gIiIsIHVzZSA9ICJwYWlyd2lzZS5jb21wbGV0ZS5vYnMiLCAKICAgICAgICBtZXRob2QgPSBjb3JtZXRoLCBjZXguY29yLCAuLi4pIHsKICAgICAgICB1c3IgPC0gcGFyKCJ1c3IiKQogICAgICAgIG9uLmV4aXQocGFyKHVzcikpCiAgICAgICAgcGFyKHVzciA9IGMoMCwgMSwgMCwgMSkpCiAgICAgICAgciA8LSBjb3IoeCwgeSwgdXNlID0gdXNlLCBtZXRob2QgPSBtZXRob2QpCiAgICAgICAgdHh0IDwtIGZvcm1hdChjKHIsIDAuMTIzNDU2Nzg5KSwgZGlnaXRzID0gZGlnaXRzKVsxXQogICAgICAgIHR4dCA8LSBwYXN0ZShwcmVmaXgsIHR4dCwgc2VwID0gIiIpCiAgICAgICAgaWYgKG1pc3NpbmcoY2V4LmNvcikpIAogICAgICAgICAgICBjZXggPC0gMC44L3N0cndpZHRoKHR4dCkKICAgICAgICB0ZXN0IDwtIGNvci50ZXN0KGFzLm51bWVyaWMoeCksIGFzLm51bWVyaWMoeSksIG1ldGhvZCA9IG1ldGhvZCkKICAgICAgICBTaWduaWYgPC0gc3ltbnVtKHRlc3QkcC52YWx1ZSwgY29yciA9IEZBTFNFLCBuYSA9IEZBTFNFLCAKICAgICAgICAgICAgY3V0cG9pbnRzID0gYygwLCAwLjAwMSwgMC4wMSwgMC4wNSwgMC4xLCAxKSwgc3ltYm9scyA9IGMoIioqKiIsIAogICAgICAgICAgICAgICAgIioqIiwgIioiLCAiLiIsICIgIikpCiAgICAgICAgdGV4dCgwLjUsIDAuNSwgdHh0LCBjZXggPSBjZXggKiAoYWJzKHIpICsgMC4zKS8xLjMpCiAgICAgICAgdGV4dCgwLjgsIDAuOCwgU2lnbmlmLCBjZXggPSBjZXgsIGNvbCA9IDIpCiAgICB9CiAgICBmIDwtIGZ1bmN0aW9uKHQpIHsKICAgICAgICBkbm9ybSh0LCBtZWFuID0gbWVhbih4KSwgc2QgPSBzZC54dHMoeCkpCiAgICB9CiAgICBkb3RhcmdzIDwtIGxpc3QoLi4uKQogICAgZG90YXJncyRtZXRob2QgPC0gTlVMTAogICAgcm0obWV0aG9kKQogICAgaGlzdC5wYW5lbCA9IGZ1bmN0aW9uKHgsIC4uLiA9IE5VTEwpIHsKICAgICAgICBwYXIobmV3ID0gVFJVRSkKICAgICAgICBoaXN0KHgsIGNvbCA9ICIjMTI5MEQ5IiwgcHJvYmFiaWxpdHkgPSBUUlVFLCBheGVzID0gRkFMU0UsIAogICAgICAgICMgaGlzdCh4LCBjb2wgPSAibGlnaHQgZ3JheSIsIHByb2JhYmlsaXR5ID0gVFJVRSwgYXhlcyA9IEZBTFNFLCAKICAgICAgICAgICAgbWFpbiA9ICIiLCBicmVha3MgPSAiRkQiKQogICAgICAgIGxpbmVzKGRlbnNpdHkoeCwgbmEucm0gPSBUUlVFKSwgY29sID0gIiNFNTU3MzgiLCBsd2QgPSAxKQogICAgICAgIHJ1Zyh4KQogICAgfQogICAgaWYgKGhpc3RvZ3JhbSkgCiAgICAgICAgcGFpcnMoeCwgZ2FwID0gMCwgbG93ZXIucGFuZWwgPSBwYW5lbC5zbW9vdGgsIHVwcGVyLnBhbmVsID0gcGFuZWwuY29yLCAKICAgICAgICAgICAgZGlhZy5wYW5lbCA9IGhpc3QucGFuZWwsIC4uLikKICAgIGVsc2UgcGFpcnMoeCwgZ2FwID0gMCwgbG93ZXIucGFuZWwgPSBwYW5lbC5zbW9vdGgsIHVwcGVyLnBhbmVsID0gcGFuZWwuY29yLCAuLi4pCn0KCgpjaGFydC5Db3JyZWxhdGlvbi5uZXcoQUVEQi5DRUEubWF0cml4LlJBTkssIG1ldGhvZCA9ICJzcGVhcm1hbiIsIGhpc3RvZ3JhbSA9IFRSVUUsIHBjaCA9IDMpCgoKIyBhbHRlcm5hdGl2ZSBjaGFydCBvZiBhIGNvcnJlbGF0aW9uIG1hdHJpeAojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQWx0ZXJuYXRpdmUgc29sdXRpb24gaHR0cHM6Ly93d3cuci1ncmFwaC1nYWxsZXJ5LmNvbS8xOTktY29ycmVsYXRpb24tbWF0cml4LXdpdGgtZ2dhbGx5Lmh0bWwKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJHR2FsbHkiKQoKIyBRdWljayBkaXNwbGF5IG9mIHR3byBjYWJhcGlsaXRpZXMgb2YgR0dhbGx5LCB0byBhc3Nlc3MgdGhlIGRpc3RyaWJ1dGlvbiBhbmQgY29ycmVsYXRpb24gb2YgdmFyaWFibGVzIApsaWJyYXJ5KEdHYWxseSkKIAojIEZyb20gdGhlIGhlbHAgcGFnZToKCiMgZ2dwYWlycyhBRURCLkNFQSwgCiMgICAgICAgICBjb2x1bW5zID0gYygiTUNQMV9yYW5rIiwgIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LKSwgCiMgICAgICAgICBjb2x1bW5MYWJlbHMgPSBjKCJNQ1AxIChwbGFzbWEpIiwgIk1DUDEiLCAKIyAgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbGNpZmljYXRpb24iLCAiQ29sbGFnZW4iLCAiRmF0IDEwJSIsICJJUEgiLCAiTWFjcm9waGFnZXMiLCAiU01DIiwgIlZlc3NlbCBkZW5zaXR5IiksCiMgICAgICAgICBtZXRob2QgPSBjKCJzcGVhcm1hbiIpLAojICAgICAgICAgIyBnZ3Bsb3QyOjphZXMoY29sb3VyID0gR2VuZGVyKSwKIyAgICAgICAgIHByb2dyZXNzID0gRkFMU0UpIAoKZ2dwYWlycyhBRURCLkNFQSwKICAgICAgICBjb2x1bW5zID0gYygiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCBUUkFJVFMuQklOLCBUUkFJVFMuQ09OLlJBTkspLAogICAgICAgIGNvbHVtbkxhYmVscyA9IGMoIk1DUDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgIkNhbGNpZmljYXRpb24iLCAiQ29sbGFnZW4iLCAiRmF0IDEwJSIsICJJUEgiLCAiTWFjcm9waGFnZXMgKGJpbm5lZCkiLCAiU01DIChiaW5uZWQpIiwgIk1hY3JvcGhhZ2VzIiwgIlNNQyIsICJWZXNzZWwgZGVuc2l0eSIpLAogICAgICAgIG1ldGhvZCA9IGMoInNwZWFybWFuIiksCiAgICAgICAgIyBnZ3Bsb3QyOjphZXMoY29sb3VyID0gR2VuZGVyKSwKICAgICAgICBwcm9ncmVzcyA9IEZBTFNFKQoKYGBgCgojIyBDaXJjdWxhdGluZyBNQ1AxCgpGaW5hbGx5LCB3ZSBleHBsb3JlZCBpbiBhIHN1Yi1zYW1wbGUsIHdoZXJlIGNpcmN1bGF0aW5nIE1DUC0xIGxldmVscyBhcmUgYXZhaWxhYmxlLCB0aGUgZm9sbG93aW5nOgoKMS4gQSBjb3JyZWxhdGlvbiBiZXR3ZWVuIE1DUC0xIGxldmVscyBpbiB0aGUgcGxhcXVlIGFuZCBjaXJjdWxhdGluZyBNQ1AtMSBsZXZlbHMKMi4gQXNzb2NpYXRpb25zIG9mIGNpcmN1bGF0aW5nIE1DUC0xIGxldmVscyB3aXRoIHBsYXF1ZSB2dWxuZXJhYmlsaXR5IGNoYXJhY3RlcmlzdGljcwozLiBBc3NvY2lhdGlvbnMgb2YgY2lyY3VsYXRpbmcgTUNQLTEgbGV2ZWxzIHdpdGggdGhlIHN0YXR1cyBvZiB0aGUgcGxhcXVlIGluIHRlcm1zIG9mIHByZXNlbmNlIG9mIHN5bXB0b21zIChzeW1wdG9tYXRpYyB2cy4gYXN5bXB0b21hdGljKQo0LiBBc3NvY2lhdGlvbnMgb2YgY2lyY3VsYXRpbmcgTUNQLTEgbGV2ZWxzIHdpdGggdGhlIHByaW1hcnkgY29tcG9zaXRlIGVuZHBvaW50IG9mIHNlY29uZGFyeSBjYXJkaW92YXNjdWxhciBldmVudHMuCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBsYXNtYSBDb3JyZWxhdGlvbnN9CgojIEluc3RhbGxhdGlvbiBvZiBnZ2NvcnJwbG90KCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZighcmVxdWlyZShkZXZ0b29scykpIAogIGluc3RhbGwucGFja2FnZXMoImRldnRvb2xzIikKZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJrYXNzYW1iYXJhL2dnY29ycnBsb3QiKQoKbGlicmFyeShnZ2NvcnJwbG90KQoKCiMgQ3JlYXRpbmcgbWF0cml4IC0gaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9IGMoIk1DUDFfcmFuayIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTeW1wdG9tcy41RyIsICJBc3ltcHRTeW1wdCIsICJFUF9tYWpvciIsICJFUF9jb21wb3NpdGUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgpBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUpCkFFREIuQ0VBLnRlbXAkQ29sbGFnZW5QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENvbGxhZ2VuUGxhcXVlKQpBRURCLkNFQS50ZW1wJEZhdDEwUGVyYyA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkRmF0MTBQZXJjKQpBRURCLkNFQS50ZW1wJElQSCA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkSVBIKQpBRURCLkNFQS50ZW1wJFN5bXB0b21zLjVHIDwtIGFzLm51bWVyaWMoQUVEQi5DRUEudGVtcCRTeW1wdG9tcy41RykKQUVEQi5DRUEudGVtcCRBc3ltcHRTeW1wdCA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkQXN5bXB0U3ltcHQpCkFFREIuQ0VBLnRlbXAkRVBfbWFqb3IgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJEVQX21ham9yKQpBRURCLkNFQS50ZW1wJEVQX2NvbXBvc2l0ZSA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkRVBfY29tcG9zaXRlKQojIHN0cihBRURCLkNFQS50ZW1wKQpBRURCLkNFQS5tYXRyaXgucGxhc21hLlJBTksgPC0gYXMubWF0cml4KEFFREIuQ0VBLnRlbXApCnJtKEFFREIuQ0VBLnRlbXApCgpjb3JyX2Jpb21hcmtlcnNfcGxhc21hLnJhbmsgPC0gcm91bmQoY29yKEFFREIuQ0VBLm1hdHJpeC5wbGFzbWEuUkFOSywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlID0gInBhaXJ3aXNlLmNvbXBsZXRlLm9icyIsICN0aGUgY29ycmVsYXRpb24gb3IgY292YXJpYW5jZSBiZXR3ZWVuIGVhY2ggcGFpciBvZiB2YXJpYWJsZXMgaXMgY29tcHV0ZWQgdXNpbmcgYWxsIGNvbXBsZXRlIHBhaXJzIG9mIG9ic2VydmF0aW9ucyBvbiB0aG9zZSB2YXJpYWJsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPSAic3BlYXJtYW4iKSwgMykKIyBjb3JyX2Jpb21hcmtlcnMucmFuawoKY29ycl9iaW9tYXJrZXJzX3BsYXNtYV9wLnJhbmsgPC0gZ2djb3JycGxvdDo6Y29yX3BtYXQoQUVEQi5DRUEubWF0cml4LnBsYXNtYS5SQU5LLCB1c2UgPSAicGFpcndpc2UuY29tcGxldGUub2JzIiwgbWV0aG9kID0gInNwZWFybWFuIikKCiMgQWRkIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgYXJndW1lbnQgbGFiID0gVFJVRQpnZ2NvcnJwbG90KGNvcnJfYmlvbWFya2Vyc19wbGFzbWEucmFuaywgCiAgICAgICAgICAgbWV0aG9kID0gInNxdWFyZSIsIAogICAgICAgICAgIHR5cGUgPSAibG93ZXIiLAogICAgICAgICAgIHRpdGxlID0gIkNyb3NzIGJpb21hcmtlciBjb3JyZWxhdGlvbnMiLCAKICAgICAgICAgICBzaG93LmxlZ2VuZCA9IFRSVUUsIGxlZ2VuZC50aXRsZSA9IGJxdW90ZSgiU3BlYXJtYW4ncyJ+aXRhbGljKHJobykpLAogICAgICAgICAgIGdndGhlbWUgPSBnZ3Bsb3QyOjp0aGVtZV9taW5pbWFsLCBvdXRsaW5lLmNvbG9yID0gIiNGRkZGRkYiLAogICAgICAgICAgIHNob3cuZGlhZyA9IFRSVUUsCiAgICAgICAgICAgaGMub3JkZXIgPSBGQUxTRSwgCiAgICAgICAgICAgbGFiID0gRkFMU0UsCiAgICAgICAgICAgZGlnaXRzID0gMywKICAgICAgICAgICAjIHAubWF0ID0gY29ycl9iaW9tYXJrZXJzX3BsYXNtYV9wLnJhbmssIHNpZy5sZXZlbCA9IDAuMDUsCiAgICAgICAgICAgY29sb3JzID0gYygiIzEyOTBEOSIsICIjRkZGRkZGIiwgIiNFNTU3MzgiKSkKCgojIGZsYXR0ZW5Db3JyTWF0cml4CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb3JtYXQgOiBtYXRyaXggb2YgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIHBtYXQgOiBtYXRyaXggb2YgdGhlIGNvcnJlbGF0aW9uIHAtdmFsdWVzCmZsYXR0ZW5Db3JyTWF0cml4IDwtIGZ1bmN0aW9uKGNvcm1hdCwgcG1hdCkgewogIHV0IDwtIHVwcGVyLnRyaShjb3JtYXQpCiAgZGF0YS5mcmFtZSgKICAgIGJpb21hcmtlcl9yb3cgPSByb3duYW1lcyhjb3JtYXQpW3Jvdyhjb3JtYXQpW3V0XV0sCiAgICBiaW9tYXJrZXJfY29sdW1uID0gcm93bmFtZXMoY29ybWF0KVtjb2woY29ybWF0KVt1dF1dLAogICAgc3BlYXJtYW5fY29yICA9KGNvcm1hdClbdXRdLAogICAgcHZhbCA9IHBtYXRbdXRdCiAgICApCn0KCgpjb3JyX2Jpb21hcmtlcnNfcGxhc21hLnJhbmsuZGYgPC0gYXMuZGF0YS50YWJsZShmbGF0dGVuQ29yck1hdHJpeChjb3JyX2Jpb21hcmtlcnNfcGxhc21hLnJhbmssIGNvcnJfYmlvbWFya2Vyc19wbGFzbWFfcC5yYW5rKSkKRFQ6OmRhdGF0YWJsZShjb3JyX2Jpb21hcmtlcnNfcGxhc21hLnJhbmsuZGYpCgojIGNoYXJ0IG9mIGEgY29ycmVsYXRpb24gbWF0cml4CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBbHRlcm5hdGl2ZSBzb2x1dGlvbiBodHRwczovL3d3dy5yLWdyYXBoLWdhbGxlcnkuY29tLzE5OS1jb3JyZWxhdGlvbi1tYXRyaXgtd2l0aC1nZ2FsbHkuaHRtbAppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIlBlcmZvcm1hbmNlQW5hbHl0aWNzIikKY2hhcnQuQ29ycmVsYXRpb24ubmV3IDwtIGZ1bmN0aW9uIChSLCBoaXN0b2dyYW0gPSBUUlVFLCBtZXRob2QgPSBjKCJwZWFyc29uIiwgImtlbmRhbGwiLCAKICAgICJzcGVhcm1hbiIpLCAuLi4pIAp7CiAgICB4ID0gY2hlY2tEYXRhKFIsIG1ldGhvZCA9ICJtYXRyaXgiKQogICAgaWYgKG1pc3NpbmcobWV0aG9kKSkgCiAgICAgICAgbWV0aG9kID0gbWV0aG9kWzFdCiAgICBjb3JtZXRoIDwtIG1ldGhvZAogICAgcGFuZWwuY29yIDwtIGZ1bmN0aW9uKHgsIHksIGRpZ2l0cyA9IDIsIHByZWZpeCA9ICIiLCB1c2UgPSAicGFpcndpc2UuY29tcGxldGUub2JzIiwgCiAgICAgICAgbWV0aG9kID0gY29ybWV0aCwgY2V4LmNvciwgLi4uKSB7CiAgICAgICAgdXNyIDwtIHBhcigidXNyIikKICAgICAgICBvbi5leGl0KHBhcih1c3IpKQogICAgICAgIHBhcih1c3IgPSBjKDAsIDEsIDAsIDEpKQogICAgICAgIHIgPC0gY29yKHgsIHksIHVzZSA9IHVzZSwgbWV0aG9kID0gbWV0aG9kKQogICAgICAgIHR4dCA8LSBmb3JtYXQoYyhyLCAwLjEyMzQ1Njc4OSksIGRpZ2l0cyA9IGRpZ2l0cylbMV0KICAgICAgICB0eHQgPC0gcGFzdGUocHJlZml4LCB0eHQsIHNlcCA9ICIiKQogICAgICAgIGlmIChtaXNzaW5nKGNleC5jb3IpKSAKICAgICAgICAgICAgY2V4IDwtIDAuOC9zdHJ3aWR0aCh0eHQpCiAgICAgICAgdGVzdCA8LSBjb3IudGVzdChhcy5udW1lcmljKHgpLCBhcy5udW1lcmljKHkpLCBtZXRob2QgPSBtZXRob2QpCiAgICAgICAgU2lnbmlmIDwtIHN5bW51bSh0ZXN0JHAudmFsdWUsIGNvcnIgPSBGQUxTRSwgbmEgPSBGQUxTRSwgCiAgICAgICAgICAgIGN1dHBvaW50cyA9IGMoMCwgMC4wMDEsIDAuMDEsIDAuMDUsIDAuMSwgMSksIHN5bWJvbHMgPSBjKCIqKioiLCAKICAgICAgICAgICAgICAgICIqKiIsICIqIiwgIi4iLCAiICIpKQogICAgICAgIHRleHQoMC41LCAwLjUsIHR4dCwgY2V4ID0gY2V4ICogKGFicyhyKSArIDAuMykvMS4zKQogICAgICAgIHRleHQoMC44LCAwLjgsIFNpZ25pZiwgY2V4ID0gY2V4LCBjb2wgPSAyKQogICAgfQogICAgZiA8LSBmdW5jdGlvbih0KSB7CiAgICAgICAgZG5vcm0odCwgbWVhbiA9IG1lYW4oeCksIHNkID0gc2QueHRzKHgpKQogICAgfQogICAgZG90YXJncyA8LSBsaXN0KC4uLikKICAgIGRvdGFyZ3MkbWV0aG9kIDwtIE5VTEwKICAgIHJtKG1ldGhvZCkKICAgIGhpc3QucGFuZWwgPSBmdW5jdGlvbih4LCAuLi4gPSBOVUxMKSB7CiAgICAgICAgcGFyKG5ldyA9IFRSVUUpCiAgICAgICAgaGlzdCh4LCBjb2wgPSAiIzEyOTBEOSIsIHByb2JhYmlsaXR5ID0gVFJVRSwgYXhlcyA9IEZBTFNFLCAKICAgICAgICAjIGhpc3QoeCwgY29sID0gImxpZ2h0IGdyYXkiLCBwcm9iYWJpbGl0eSA9IFRSVUUsIGF4ZXMgPSBGQUxTRSwgCiAgICAgICAgICAgIG1haW4gPSAiIiwgYnJlYWtzID0gIkZEIikKICAgICAgICBsaW5lcyhkZW5zaXR5KHgsIG5hLnJtID0gVFJVRSksIGNvbCA9ICIjRTU1NzM4IiwgbHdkID0gMSkKICAgICAgICBydWcoeCkKICAgIH0KICAgIGlmIChoaXN0b2dyYW0pIAogICAgICAgIHBhaXJzKHgsIGdhcCA9IDAsIGxvd2VyLnBhbmVsID0gcGFuZWwuc21vb3RoLCB1cHBlci5wYW5lbCA9IHBhbmVsLmNvciwgCiAgICAgICAgICAgIGRpYWcucGFuZWwgPSBoaXN0LnBhbmVsLCAuLi4pCiAgICBlbHNlIHBhaXJzKHgsIGdhcCA9IDAsIGxvd2VyLnBhbmVsID0gcGFuZWwuc21vb3RoLCB1cHBlci5wYW5lbCA9IHBhbmVsLmNvciwgLi4uKQp9CgpjaGFydC5Db3JyZWxhdGlvbi5uZXcoQUVEQi5DRUEubWF0cml4LnBsYXNtYS5SQU5LLCBtZXRob2QgPSAic3BlYXJtYW4iLCBoaXN0b2dyYW0gPSBUUlVFLCBwY2ggPSAzKQoKCiMgYWx0ZXJuYXRpdmUgY2hhcnQgb2YgYSBjb3JyZWxhdGlvbiBtYXRyaXgKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFsdGVybmF0aXZlIHNvbHV0aW9uIGh0dHBzOi8vd3d3LnItZ3JhcGgtZ2FsbGVyeS5jb20vMTk5LWNvcnJlbGF0aW9uLW1hdHJpeC13aXRoLWdnYWxseS5odG1sCmluc3RhbGwucGFja2FnZXMuYXV0bygiR0dhbGx5IikKCiMgUXVpY2sgZGlzcGxheSBvZiB0d28gY2FiYXBpbGl0aWVzIG9mIEdHYWxseSwgdG8gYXNzZXNzIHRoZSBkaXN0cmlidXRpb24gYW5kIGNvcnJlbGF0aW9uIG9mIHZhcmlhYmxlcyAKbGlicmFyeShHR2FsbHkpCiAKIyBGcm9tIHRoZSBoZWxwIHBhZ2U6CmdncGFpcnMoQUVEQi5DRUEsCiAgICAgICAgY29sdW1ucyA9IGMoIk1DUDFfcmFuayIsIFRSQUlUUy5CSU4sIFRSQUlUUy5DT04uUkFOSywgIlN5bXB0b21zLjVHIiwgIkFzeW1wdFN5bXB0IiwgIkVQX21ham9yIiwgIkVQX2NvbXBvc2l0ZSIpLCAKICAgICAgICBjb2x1bW5MYWJlbHMgPSBjKCJNQ1AxIChwbGFzbWEpIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FsY2lmaWNhdGlvbiIsICJDb2xsYWdlbiIsICJGYXQgMTAlIiwgIklQSCIsICJNYWNyb3BoYWdlcyIsICJTTUMiLCAiVmVzc2VsIGRlbnNpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgIlN5bXB0b21zIiwgIlN5bXB0b21zIChncm91cGVkKSIsICJNQUNFIiwgIkNvbXBvc2l0ZSIpLAogICAgICAgIG1ldGhvZCA9IGMoInNwZWFybWFuIiksCiAgICAgICAgIyBnZ3Bsb3QyOjphZXMoY29sb3VyID0gR2VuZGVyKSwKICAgICAgICBwcm9ncmVzcyA9IEZBTFNFKSAKYGBgCgojIEFkZGl0aW9uYWwgZmlndXJlcwoKIyMgQWdlIGFuZCBzZXgKV2Ugd2FudCB0byBjcmVhdGUgcGVyLWFnZS1ncm91cCBmaWd1cmVzLiAKCi0gQm94IGFuZCBXaGlza2VyIHBsb3QgZm9yIE1DUC0xIHBsYXF1ZSBsZXZlbHMgYnkgc2V4IGFuZCBhZ2UgZ3JvdXAgKDw1NSwgNTUtNjQsIDY1LTc0LCA3NS04NCwgODUrKQotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFzbWEgbGV2ZWxzIGJ5IHNleCBhbmQgYWdlIGdyb3VwICg8NTUsIDU1LTY0LCA2NS03NCwgNzUtODQsIDg1KykKLSBTY2F0dGVyIHBsb3Qgb2YgdGhlIGNvcnJlbGF0aW9uIGFuZCByZWdyZXNzaW9uIGxpbmUgYmV0d2VlbiBNQ1AtMSBsZXZlbHMgaW4gcGxhcXVlICh5IGF4aXMpIGFuZCBwbGFzbWEgKHggYXhpcykuCgoKYGBge3IgQWdlR3JvdXBzfQpsaWJyYXJ5KGRwbHlyKQoKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lIG11dGF0ZShBZ2VHcm91cCA9IGZhY3RvcihjYXNlX3doZW4oQWdlIDwgNTUgfiAiPDU1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNTUgICYgQWdlIDw9IDY0IH4gIjU1LTY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNjUgICYgQWdlIDw9IDc0IH4gIjY1LTc0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNzUgICYgQWdlIDw9IDg0IH4gIjc1LTg0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gODUgfiAiODUrIikpKSAKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JSBtdXRhdGUoQWdlR3JvdXBTZXggPSBmYWN0b3IoY2FzZV93aGVuKEFnZSA8IDU1ICYgR2VuZGVyID09ICJtYWxlIiB+ICI8NTUgbWFsZXMiICwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNTUgICYgQWdlIDw9IDY0ICYgR2VuZGVyID09ICJtYWxlIn4gIjU1LTY0IG1hbGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNjUgICYgQWdlIDw9IDc0ICYgR2VuZGVyID09ICJtYWxlIn4gIjY1LTc0IG1hbGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNzUgICYgQWdlIDw9IDg0ICYgR2VuZGVyID09ICJtYWxlIn4gIjc1LTg0IG1hbGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gODUgJiBHZW5kZXIgPT0gIm1hbGUifiAiODUrIG1hbGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPCA1NSAmIEdlbmRlciA9PSAiZmVtYWxlIiB+ICI8NTUgZmVtYWxlcyIgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA1NSAgJiBBZ2UgPD0gNjQgJiBHZW5kZXIgPT0gImZlbWFsZSJ+ICI1NS02NCBmZW1hbGVzICIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdlID49IDY1ICAmIEFnZSA8PSA3NCAmIEdlbmRlciA9PSAiZmVtYWxlIn4gIjY1LTc0IGZlbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA3NSAgJiBBZ2UgPD0gODQgJiBHZW5kZXIgPT0gImZlbWFsZSJ+ICI3NS04NCBmZW1hbGVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gODUgJiBHZW5kZXIgPT0gImZlbWFsZSJ+ICI4NSsgZmVtYWxlcyIpKSkKCnRhYmxlKEFFREIuQ0VBJEFnZUdyb3VwLCBBRURCLkNFQSRHZW5kZXIpCnRhYmxlKEFFREIuQ0VBJEFnZUdyb3VwU2V4KQoKYGBgCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc2V4IGFuZCBhZ2UgZ3JvdXAuCgojIyMgSW52ZXJzZS1yYW5rIHRyYW5zZm9ybWVkIGRhdGEKCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBBZ2VHcm91cCBwZXIgU2V4LCByYW5rZWR9CgojID9nZ3B1YnI6OmdnYm94cGxvdCgpCgojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiR2VuZGVyIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKPiBOT1QgQVZBSUxBQkxFIFlFVAoKYGBge3IgTUNQMSBwZXIgQWdlR3JvdXAgcGVyIFNleCwgcmFua2VkIHBsYXNtYX0KIyBjb21wYXJlX21lYW5zKE1DUDFfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsCiAgICAgICAgICAgICAgICAgIHggPSBjKCJHZW5kZXIiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3JhbmsiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJBZ2UgZ3JvdXBzICh5ZWFycykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQoKYGBgCgojIyMgUmF3IGRhdGEKClNpbWFsYXJseSBidXQgbm93IGZvciB0aGUgcmF3IGRhdGEgYXMgbWVkaWFuIMKxIGludGVycXVhcnRpbGUgcmFuZ2UuCgojIyMjIE1DUDEgcGxhcXVlIGxldmVscwoKCmBgYHtyIE1DUDEgcGVyIEFnZUdyb3VwIHBlciBTZXh9CgojID9nZ3B1YnI6OmdnYm94cGxvdCgpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkFnZSBncm91cHMgKHllYXJzKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBBZ2VHcm91cCBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpgYGAKCgojIyBIeXBlcnRlbnNpb24gJiBibG9vZCBwcmVzc3VyZQpXZSB3YW50IHRvIGNyZWF0ZSBmaWd1cmVzIG9mIE1DUDEgbGV2ZWxzIHN0cmF0aWZpZWQgYnkgaHlwZXJ0ZW5zaW9uL2Jsb29kIHByZXNzdXJlLCBhbmQgdXNlIG9mIGFudGktaHlwZXJ0ZW5zaXZlIGRydWdzLiAKCi0gQm94IGFuZCBXaGlza2VyIHBsb3QgZm9yIE1DUC0xIHBsYXF1ZSBsZXZlbHMgYnkgaHlwZXJ0ZW5zaW9uIGdyb3VwIChubywgeWVzKQotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFzbWEgbGV2ZWxzIGJ5IHN5c3RvbGljIGJsb29kIHByZXNzdXJlIGdyb3VwICg8MTIwLCAxMjAtMTM5LCAxNDAtMTU5LDE2MCspCgoKYGBge3IgQmxvb2RQcmVzc3VyZX0KbGlicmFyeShkcGx5cikKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JSBtdXRhdGUoU0JQR3JvdXAgPSBmYWN0b3IoY2FzZV93aGVuKHN5c3RvbGljIDwgMTIwIH4gIjwxMjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RvbGljID49IDEyMCAgJiBzeXN0b2xpYyA8PSAxMzkgfiAiMTIwLTEzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdG9saWMgPj0gMTQwICAmIHN5c3RvbGljIDw9IDE1OSB+ICIxNDAtMTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0b2xpYyA+PSAxNjAgfiAiMTYwKyIpKSkgCgp0YWJsZShBRURCLkNFQSRTQlBHcm91cCwgQUVEQi5DRUEkR2VuZGVyKQoKYGBgCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc2V4IGFuZCBoeXBlcnRlbnNpb24vYmxvb2QgcHJlc3N1cmUgZ3JvdXAuCgojIyMgSW52ZXJzZS1yYW5rIHRyYW5zZm9ybWVkIGRhdGEKCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBCbG9vZFByZXNzdXJlIHBlciBTZXgsIHJhbmtlZH0KCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU0JQR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTQlBHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUgKG1tSGcpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU2VsZi1yZXBvcnRlZCBoeXBlcnRlbnNpb24gcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCkgJiAhaXMubmEoSHlwZXJ0ZW5zaW9uLmRydWdzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNlbGYtcmVwb3J0ZWQgaHlwZXJ0ZW5zaW9uIHBlciBtZWRpY2F0aW9uIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJIeXBlcnRlbnNpb24uZHJ1Z3MiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQoKCgpgYGAKCiMjIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBCbG9vZFByZXNzdXJlIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwKICAgICAgICAgICAgICAgICAgeCA9IGMoIlNCUEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSAobW1IZykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBCbG9vZFByZXNzdXJlIHBlciBTZXh9CgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTQlBHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlNCUEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUgKG1tSGcpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNlbGYtcmVwb3J0ZWQgaHlwZXJ0ZW5zaW9uIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpICYgIWlzLm5hKEh5cGVydGVuc2lvbi5kcnVncykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkh5cGVydGVuc2lvbi5zZWxmcmVwb3J0IiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTZWxmLXJlcG9ydGVkIGh5cGVydGVuc2lvbiBwZXIgbWVkaWNhdGlvbiB1c2UiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiSHlwZXJ0ZW5zaW9uLmRydWdzIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgCmBgYAoKIyMjIE1DUDEgcGxhc21hIGxldmVscwoKPiBOT1QgQVZBSUxBQkxFIFlFVAoKYGBge3IgTUNQMSBwZXIgQmxvb2RQcmVzc3VyZSBwZXIgU2V4LCBwbGFzbWF9CgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTQlBHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSAobW1IZykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmBgYAoKCiMjIEh5cGVyY2hvbGVzdGVyb2xlbWlhICYgTERMIGxldmVscwpXZSB3YW50IHRvIGNyZWF0ZSBmaWd1cmVzIG9mIE1DUDEgbGV2ZWxzIHN0cmF0aWZpZWQgYnkgaHlwZXJjaG9sZXN0ZXJvbGVtaWEvTERMLWxldmVscywgYW5kIHVzZSBvZiBsaXBpZC1sb3dlcmluZyBkcnVncy4gCgotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFxdWUgbGV2ZWxzIGJ5IGh5cGVyY2hvbGVzdGVyb2xlbWlhIGdyb3VwIChubywgeWVzKQotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFzbWEgbGV2ZWxzIGJ5IExETC1sZXZlbHMgKG1tb2wvTCkgZ3JvdXAgKDwxMDAsIDEwMC0xMjksIDEzMC0xNTksIDE2MC0xODksIDE5MCspCgpgYGB7ciBIeXBlcmNob2xlc3Rlcm9sZW1pYX0KbGlicmFyeShkcGx5cikKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JSBtdXRhdGUoTERMR3JvdXAgPSBmYWN0b3IoY2FzZV93aGVuKExETF9maW5hbENVIDwgMTAwIH4gIjwxMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExETF9maW5hbENVID49IDEwMCAgJiBMRExfZmluYWxDVSA8PSAxMjkgfiAiMTAwLTEyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTERMX2ZpbmFsQ1UgPj0gMTMwICAmIExETF9maW5hbENVIDw9IDE1OSB+ICIxMzAtMTU5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMRExfZmluYWxDVSA+PSAxNjAgICYgTERMX2ZpbmFsQ1UgPD0gMTg5IH4gIjE2MC0xODkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExETF9maW5hbENVID49IDE5MCB+ICIxOTArIikpKSAKCgp0YWJsZShBRURCLkNFQSRMRExHcm91cCwgQUVEQi5DRUEkR2VuZGVyKQoKCmBgYAoKTm93IHdlIGNhbiBkcmF3IHNvbWUgZ3JhcGhzIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMgcGVyIHNleCBhbmQgaHlwZXJjaG9sZXN0ZXJvbGVtaWEvTERMLWxldmVscyBncm91cCwgYXMgd2VsbCBhcyBzdHJhdGlmaWVkIGJ5IGxpcGlkLWxvd2VyaW5nIGRydWdzIHVzZXJzLgoKIyMjIEludmVyc2UtcmFuayB0cmFuc2Zvcm1lZCBkYXRhCgojIyMjIE1DUDEgcGxhcXVlIGxldmVscwoKYGBge3IgTUNQMSBwZXIgSHlwZXJjaG9sZXN0ZXJvbGVtaWEgcGVyIFNleCwgcmFua2VkfQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShMRExHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkxETEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSAmICFpcy5uYShNZWQuU3RhdGluLkxMRCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkxETEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgTExEIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJNZWQuU3RhdGluLkxMRCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjNDlBMDFEIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCgpgYGAKCiMjIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBIeXBlcmNob2xlc3Rlcm9sZW1pYSBwZXIgU2V4LCByYW5rZWQgcGxhc21hfQojIGNvbXBhcmVfbWVhbnMoTUNQMV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3JhbmsiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIkFnZSBncm91cHMgKHllYXJzKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCgpgYGAKCiMjIyBSYXcgZGF0YQoKU2ltYWxhcmx5IGJ1dCBub3cgZm9yIHRoZSByYXcgZGF0YSBhcyBtZWRpYW4gwrEgaW50ZXJxdWFydGlsZSByYW5nZS4KCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgoKYGBge3IgTUNQMSBwZXIgSHlwZXJjaG9sZXN0ZXJvbGVtaWEgcGVyIFNleH0KCiMgP2dncHVicjo6Z2dib3hwbG90KCkKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoTERMR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJMRExHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkxETCAobWcvZEwpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoTERMR3JvdXApICYgIWlzLm5hKE1lZC5TdGF0aW4uTExEKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiTERMR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgTExEIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIk1lZC5TdGF0aW4uTExEIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBIeXBlcmNob2xlc3Rlcm9sZW1pYSBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpgYGAKCgojIyBLaWRuZXkgZnVuY3Rpb24gKGVHRlIpCldlIHdhbnQgdG8gY3JlYXRlIGZpZ3VyZXMgb2YgTUNQMSBsZXZlbHMgc3RyYXRpZmllZCBieSBraWRuZXkgZnVuY3Rpb24uIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBjaHJvbmljIGtpZG5leSBkaXNlYXNlIChDS0QpIGdyb3VwICgxLCAyLCAzLCA0LCA1KQotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFzbWEgbGV2ZWxzIGJ5IGVHRlIgKE1EUkQtYmFzZWQpIGdyb3VwICg5MCssIDYwLTg5LCAzMC01OSwgPDMwKQoKYGBge3IgRUdGUn0KbGlicmFyeShkcGx5cikKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JSBtdXRhdGUoZUdGUkdyb3VwID0gZmFjdG9yKGNhc2Vfd2hlbihHRlJfTURSRCA8IDE1IH4gIjwxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSAxNSAgJiBHRlJfTURSRCA8PSAyOSB+ICIxNS0yOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSAzMCAgJiBHRlJfTURSRCA8PSA1OSB+ICIzMC01OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSA2MCAgJiBHRlJfTURSRCA8PSA4OSB+ICI2MC04OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSA5MCB+ICI5MCsiKSkpCgp0YWJsZShBRURCLkNFQSRlR0ZSR3JvdXAsIEFFREIuQ0VBJEdlbmRlcikKCnRhYmxlKEFFREIuQ0VBJGVHRlJHcm91cCwgQUVEQi5DRUEkS0RPUUkpCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGtpZG5leSBmdW5jdGlvbiBncm91cC4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIEVHRlIgcGVyIFNleCwgcmFua2VkfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKGVHRlJHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoImVHRlJHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJLRE9RSSIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiS2lkbmV5IGZ1bmN0aW9uIChLRE9RSSkgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSArIHJvdGF0ZV94X3RleHQoNDUpLCBsZWdlbmQgPSAicmlnaHQiKSAKcm0ocDEpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCnAxIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKGVHRlJHcm91cCkgJiAhaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJlR0ZSR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gImVHRlIgKG1ML21pbiBwZXIgMS43MyBtMikgYnkgS0RPUUkgZ3JvdXAiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiS0RPUUkiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gInJpZ2h0IikKcm0ocDEpCgpgYGAKCiMjIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBFR0ZSIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiR2VuZGVyIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBFR0ZSIHBlciBTZXh9CgojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoZUdGUkdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiZUdGUkdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShLRE9RSSkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIktET1FJIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiS2lkbmV5IGZ1bmN0aW9uIChLRE9RSSkgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxICsgcm90YXRlX3hfdGV4dCg0NSksIGxlZ2VuZCA9ICJyaWdodCIpIApybShwMSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoZUdGUkdyb3VwKSAmICFpcy5uYShLRE9RSSkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoImVHRlJHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gImVHRlIgKG1ML21pbiBwZXIgMS43MyBtMikgYnkgS0RPUUkgZ3JvdXAiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJLRE9RSSIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxLCBsZWdlbmQgPSAicmlnaHQiKQpybShwMSkKCmBgYAoKIyMjIE1DUDEgcGxhc21hIGxldmVscwoKPiBOT1QgQVZBSUxBQkxFIFlFVAoKYGBge3IgTUNQMSBwZXIgRUdGUiBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpgYGAKCgojIyBCTUkKV2Ugd2FudCB0byBjcmVhdGUgZmlndXJlcyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IEJNSS4gCgotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFxdWUgbGV2ZWxzIGJ5IEJNSSBXSE8gZ3JvdXAgKHVuZGVyd2VpZ2h0LCBub3JtYWwsIG92ZXJ3ZWlnaHQsIG9iZXNlKQotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFzbWEgbGV2ZWxzIGJ5IEJNSSBncm91cCAoPDE4LjUsIDE4LjUtMjQuOSwgMjUsIDI5LjksIDMwLTI0LjksIDM1KykKCmBgYHtyIEJNSX0KbGlicmFyeShkcGx5cikKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JSBtdXRhdGUoQk1JR3JvdXAgPSBmYWN0b3IoY2FzZV93aGVuKEJNSSA8IDE4LjUgfiAiPDE4LjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJNSSA+PSAxOC41ICAmIEJNSSA8IDI1IH4gIjE4LjUtMjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJNSSA+PSAyNSAgJiBCTUkgPCAzMCB+ICIyNS0yOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk1JID49IDMwICAmIEJNSSA8IDM1IH4gIjMwLTM1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTUkgPj0gMzUgfiAiMzUrIikpKSAKCiMgcmVxdWlyZShsYWJlbGxlZCkKIyBBRURCLkNFQSRCTUlfVVMgPC0gYXNfZmFjdG9yKEFFREIuQ0VBJEJNSV9VUykKIyBBRURCLkNFQSRCTUlfV0hPIDwtIGFzX2ZhY3RvcihBRURCLkNFQSRCTUlfV0hPKQojIHRhYmxlKEFFREIuQ0VBJEJNSV9XSE8sIEFFREIuQ0VBJEJNSV9VUykKCnRhYmxlKEFFREIuQ0VBJEJNSUdyb3VwLCBBRURCLkNFQSRHZW5kZXIpCnRhYmxlKEFFREIuQ0VBJEJNSUdyb3VwLCBBRURCLkNFQSRCTUlfV0hPKQoKYGBgCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc2V4IGFuZCBhZ2UgZ3JvdXAuCgojIyMgSW52ZXJzZS1yYW5rIHRyYW5zZm9ybWVkIGRhdGEKCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBCTUkgcGVyIFNleCwgcmFua2VkfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQk1JR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkJNSSBncm91cHMgKGtnL20yKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICAjIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJCTUlHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApICYgIWlzLm5hKEJNSV9XSE8pKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIHBlciBXSE8gY2F0ZWdvcmllcyIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJCTUlfV0hPIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJyaWdodCIpCnJtKHAxKQoKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKPiBOT1QgQVZBSUxBQkxFIFlFVAoKYGBge3IgTUNQMSBwZXIgQk1JIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiR2VuZGVyIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBCTUkgcGVyIFNleH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShCTUlHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkJNSUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQk1JR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJCTUkgZ3JvdXBzIChrZy9tMikiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCnAxIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSAmICFpcy5uYShCTUlfV0hPKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJCTUkgZ3JvdXBzIChrZy9tMikgcGVyIFdITyBjYXRlZ29yaWVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiQk1JX1dITyIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxLCBsZWdlbmQgPSAicmlnaHQiKQpybShwMSkKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBCTUkgcGVyIFNleCwgcGxhc21hfQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJHZW5kZXIiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkFnZSBncm91cHMgKHllYXJzKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKYGBgCgoKIyMgRGlhYmV0ZXMKV2Ugd2FudCB0byBjcmVhdGUgZmlndXJlcyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IHR5cGUgMiBkaWFiZXRlcy4gCgotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFxdWUgbGV2ZWxzIGJ5IHR5cGUgMiBkaWFiZXRlcyBncm91cCAobm8sIHllcykKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGFnZSBncm91cC4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIERpYWJldGVzIHBlciBTZXgsIHJhbmtlZH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShEaWFiZXRlc1N0YXR1cykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkRpYWJldGVzU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJEaWFiZXRlcyBzdGF0dXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKERpYWJldGVzU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiRGlhYmV0ZXNTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkRpYWJldGVzIHN0YXR1cyBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmBgYAoKIyMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCj4gTk9UIEFWQUlMQUJMRSBZRVQKCmBgYHtyIE1DUDEgcGVyIERpYWJldGVzIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiR2VuZGVyIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBEaWFiZXRlcyBwZXIgU2V4fQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1IH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShEaWFiZXRlc1N0YXR1cykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkRpYWJldGVzU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiRGlhYmV0ZXMgc3RhdHVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTUgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKERpYWJldGVzU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiRGlhYmV0ZXNTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJEaWFiZXRlcyBzdGF0dXMgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCgpgYGAKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCj4gTk9UIEFWQUlMQUJMRSBZRVQKCmBgYHtyIE1DUDEgcGVyIERpYWJldGVzIHBlciBTZXgsIHBsYXNtYX0KZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiR2VuZGVyIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJBZ2UgZ3JvdXBzICh5ZWFycykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmBgYAoKCiMjIFNtb2tpbmcKV2Ugd2FudCB0byBjcmVhdGUgZmlndXJlcyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IHNtb2tpbmcuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBzbW9raW5nIGdyb3VwIChuZXZlciwgZXgsIGN1cnJlbnQpCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc2V4IGFuZCBhZ2UgZ3JvdXAuCgojIyMgSW52ZXJzZS1yYW5rIHRyYW5zZm9ybWVkIGRhdGEKCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBTbW9raW5nIHBlciBTZXgsIHJhbmtlZH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTbW9rZXJTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTbW9rZXJTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsIAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTbW9rZXJTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTbW9rZXJTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpgYGAKCiMjIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBTbW9raW5nIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiR2VuZGVyIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBTbW9raW5nIHBlciBTZXh9CgojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTUgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFNtb2tlclN0YXR1cykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlNtb2tlclN0YXR1cyIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICAjIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwgCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTUgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFNtb2tlclN0YXR1cykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlNtb2tlclN0YXR1cyIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKCmBgYAoKIyMjIE1DUDEgcGxhc21hIGxldmVscwoKPiBOT1QgQVZBSUxBQkxFIFlFVAoKYGBge3IgTUNQMSBwZXIgU21va2luZyBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpgYGAKCgojIyBTdGVub3NpcwpXZSB3YW50IHRvIGNyZWF0ZSBmaWd1cmVzIG9mIE1DUDEgbGV2ZWxzIHN0cmF0aWZpZWQgYnkgc3Rlbm9zaXMgZ3JhZGUuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBzdGVub3NpcyBncmFkZSBncm91cCAoPDcwLCA3MC04OSwgOTArKQoKYGBge3IgU3Rlbm9zaXN9CmxpYnJhcnkoZHBseXIpCgpBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUgbXV0YXRlKFN0ZW5vdGljR3JvdXAgPSBmYWN0b3IoY2FzZV93aGVuKHN0ZW5vc2UgPT0gIjAtNDklIiB+ICI8NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZW5vc2UgPT0gIjAtNDklIiB+ICI8NzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZW5vc2UgPT0gIjUwLTcwJSIgfiAiPDcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVub3NlID09ICI3MC05MCUiIH4gIjcwLTg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVub3NlID09ICI1MC05OSUiIH4gIjkwKyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlbm9zZSA9PSAiNzAtOTklIiB+ICI5MCsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZW5vc2UgPT0gIjEwMCUgKE9jY2x1c2lvbikiIH4gIjkwKyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlbm9zZSA9PSAiOTAtOTklIiB+ICI5MCsiKSkpCgp0YWJsZShBRURCLkNFQSRTdGVub3RpY0dyb3VwLCBBRURCLkNFQSRHZW5kZXIpCnRhYmxlKEFFREIuQ0VBJHN0ZW5vc2UsIEFFREIuQ0VBJFN0ZW5vdGljR3JvdXApCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGFnZSBncm91cC4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIFN0ZW5vc2lzIHBlciBTZXgsIHJhbmtlZH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTdGVub3RpY0dyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU3Rlbm90aWNHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3Rlbm90aWMgZ3JhZGUiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFN0ZW5vdGljR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTdGVub3RpY0dyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTdGVub3RpYyBncmFkZSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCgpgYGAKCiMjIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBTdGVub3NpcyBwZXIgU2V4LCByYW5rZWQgcGxhc21hfQojIGNvbXBhcmVfbWVhbnMoTUNQMV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3JhbmsiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIkFnZSBncm91cHMgKHllYXJzKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCgpgYGAKCiMjIyBSYXcgZGF0YQoKU2ltYWxhcmx5IGJ1dCBub3cgZm9yIHRoZSByYXcgZGF0YSBhcyBtZWRpYW4gwrEgaW50ZXJxdWFydGlsZSByYW5nZS4KCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgoKYGBge3IgTUNQMSBwZXIgU3Rlbm9zaXMgcGVyIFNleH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTdGVub3RpY0dyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU3Rlbm90aWNHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN0ZW5vdGljIGdyYWRlIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFN0ZW5vdGljR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTdGVub3RpY0dyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3Rlbm90aWMgZ3JhZGUgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCgoKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgo+IE5PVCBBVkFJTEFCTEUgWUVUCgpgYGB7ciBNQ1AxIHBlciBTdGVub3NpcyBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkdlbmRlciIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpgYGAKCgoKIyMgQ2lyY3VsYXRpbmcgdnMuIHBsYXF1ZSBNQ1AxIGxldmVscwoKV2Ugd2lsbCBhbHNvIG1ha2UgYSBuaWNlIGNvcnJlbGF0aW9uIHBsb3QgYmV0d2VlbiBwbGFzbWEgYW5kIHBsYXF1ZSBNQ1AxIGxldmVscy4KCj4gTk9UIEFWQUlMQUJMRSBZRVQKCmBgYHtyIE1DUDEgY29ycmVsYXRpb25zLCBwbGFzbWEgdnMuIHBsYXF1ZX0KCmdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJNQ1AxX3BnX3VnXzIwMTUiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwgYWRkLnBhcmFtcyA9IGxpc3QoY29sb3IgPSAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBjb25mLmludCA9IFRSVUUsCiAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLmNvZWZmLmFyZ3MgPSBsaXN0KG1ldGhvZCA9ICJzcGVhcm1hbiIpLCBjb3IuY29lZi5jb29yZCA9IGMoOCw3NTApKQoKZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLCBhZGQucGFyYW1zID0gbGlzdChjb2xvciA9ICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbmYuaW50ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IuY29lZmYuYXJncyA9IGxpc3QobWV0aG9kID0gInNwZWFybWFuIiksIGNvci5jb2VmLmNvb3JkID0gYygyLDMpKQoKYGBgCgojIyBQbGFxdWUgdnMuIHBsYXF1ZSBNQ1AxIGxldmVscwpXZSB3aWxsIGFsc28gbWFrZSBhIG5pY2UgY29ycmVsYXRpb24gcGxvdCBiZXR3ZWVuIHRoZSB0d28gZXhwZXJpbWVudHMgb2YgcGxhcXVlIE1DUDEgbGV2ZWxzLiAKCmBgYHtyIE1DUDEgY29ycmVsYXRpb25zLCBwbGFxdWUgdnMuIHBsYXF1ZX0KQUVEQi5DRUEkTUNQMV9yYW5rIDwtIHFub3JtKChyYW5rKEFFREIuQ0VBJE1DUDEsIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUEkTUNQMSkpKQpzdW1tYXJ5KEFFREIuQ0VBJE1DUDEpCnN1bW1hcnkoQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1KQoKZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIk1DUDEiLCAKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIk1DUDEgcGxhcXVlIFtwZy9tTF0gKGV4cC4gbm8uIDEpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIChleHAuIG5vLiAyKSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsIGFkZC5wYXJhbXMgPSBsaXN0KGNvbG9yID0gIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29uZi5pbnQgPSBUUlVFLAogICAgICAgICAgICAgICAgICBjb3IuY29lZiA9IFRSVUUsIGNvci5jb2VmZi5hcmdzID0gbGlzdChtZXRob2QgPSAic3BlYXJtYW4iKSkKCmdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJNQ1AxX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL21MXVxuKElOUlQsICBleHAuIG5vLiAxKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKElOUlQsICBleHAuIG5vLiAyKSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsIGFkZC5wYXJhbXMgPSBsaXN0KGNvbG9yID0gIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29uZi5pbnQgPSBUUlVFLAogICAgICAgICAgICAgICAgICBjb3IuY29lZiA9IFRSVUUsIGNvci5jb2VmZi5hcmdzID0gbGlzdChtZXRob2QgPSAic3BlYXJtYW4iKSkKCmBgYAoKCiMjIFN5bXB0b21zCldlIHdhbnQgdG8gY3JlYXRlIHBlci1zeW1wdG9tIGZpZ3VyZXMuIAoKCmBgYHtyIFN5bXB0b21Hcm91cHN9CmxpYnJhcnkoZHBseXIpCgp0YWJsZShBRURCLkNFQSRBZ2VHcm91cCwgQUVEQi5DRUEkQXN5bXB0U3ltcHQyRykKdGFibGUoQUVEQi5DRUEkR2VuZGVyLCBBRURCLkNFQSRBc3ltcHRTeW1wdDJHKQp0YWJsZShBRURCLkNFQSRBc3ltcHRTeW1wdDJHKQoKYGBgCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc3ltcHRvbSBncm91cC4KYGBge3IgTUNQMSBwZXIgU3ltcHRvbUdyb3Vwc30KCiMgP2dncHVicjo6Z2dib3hwbG90KCkKbXlfY29tcGFyaXNvbnMgPC0gbGlzdChjKCJBc3ltcHRvbWF0aWMiLCAiU3ltcHRvbWF0aWMiKSkKCnAxIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJBc3ltcHRTeW1wdDJHIiwgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIFtwZy91Z10gbGV2ZWxzIHBlciBzeW1wdG9tIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3ltcHRvbXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbiBpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJBc3ltcHRTeW1wdDJHIiwgCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKHVpdGhvZl9jb2xvclsxNl0sIHVpdGhvZl9jb2xvclsyM10pLAogICAgICAgICAgICAgICAgICBhZGQgPSAiZG90cGxvdCIsICMgQWRkIGRvdHBsb3QKICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9IGxpc3QoYmlud2lkdGggPSAwLjEsIGRvdHNpemUgPSAwLjMpCiAgICAgICAgICApICsKICBzdGF0X2NvbXBhcmVfbWVhbnMoY29tcGFyaXNvbnMgPSBteV9jb21wYXJpc29ucywgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9IGMoInJpZ2h0IiksIGxlZ2VuZC50aXRsZSA9ICJTeW1wdG9tcyIpCmBgYAoKYGBge3IgTUNQMSBwZXIgU3ltcHRvbUdyb3VwcywgcGxhc21hfQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiQXN5bXB0U3ltcHQyRyIsIHkgPSAiTUNQMV9yYW5rIiwKICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFzbWEgW3BnL21MXSBsZXZlbHMgcGVyIHN5bXB0b20iLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTeW1wdG9tcyIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXVxuIGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbiIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkFzeW1wdFN5bXB0MkciLCAKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGModWl0aG9mX2NvbG9yWzE2XSwgdWl0aG9mX2NvbG9yWzIzXSksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJkb3RwbG90IiwgIyBBZGQgZG90cGxvdAogICAgICAgICAgICAgICAgICBhZGQucGFyYW1zID0gbGlzdChiaW53aWR0aCA9IDAuMSwgZG90c2l6ZSA9IDAuMykKICAgICAgICAgICkgKwogIHN0YXRfY29tcGFyZV9tZWFucyhjb21wYXJpc29ucyA9IG15X2NvbXBhcmlzb25zLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gYygicmlnaHQiKSwgbGVnZW5kLnRpdGxlID0gIlN5bXB0b21zIikKcm0ocDEpCmBgYAoKIyMgRm9yZXN0IHBsb3RzCgpXZSB3b3VsZCBhbHNvIGxpa2UgdG8gdmlzdWFsaXplIHRoZSBtdWx0aXZhcmlhYmxlIGFuYWx5c2VzIHJlc3VsdHMuCmBgYHtyIGxvYWQgbW9kZWwgZGF0YX0KbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KG9wZW54bHN4KQptb2RlbDFfbWNwMSA8LSByZWFkLnhsc3gocGFzdGUwKE9VVF9sb2MsICIvIiwgVG9kYXksICIuQUVEQi5DRUEuQmluLlVuaS5Qcm90ZWluLlJBTksuU3ltcHRvbXMuTU9ERUwxLnhsc3giKSkKbW9kZWwyX21jcDEgPC0gcmVhZC54bHN4KHBhc3RlMChPVVRfbG9jLCAiLyIsIFRvZGF5LCAiLkFFREIuQ0VBLkJpbi5NdWx0aS5Qcm90ZWluLlJBTksuU3ltcHRvbXMuTU9ERUwyLnhsc3giKSkKbW9kZWwxX21jcDEkbW9kZWwgPC0gInVuaXZhcmlhdGUiCm1vZGVsMl9tY3AxJG1vZGVsIDwtICJtdWx0aXZhcmlhdGUiCgptb2RlbHNfbWNwMSA8LSByYmluZChtb2RlbDFfbWNwMSwgbW9kZWwyX21jcDEpCm1vZGVsc19tY3AxCgpgYGAKCmBgYHtyIGZvcmVzdHBsb3QgcGxhcXVlfQpkYXQgPC0gZGF0YS5mcmFtZShncm91cCA9IGZhY3RvcihjKCJBZ2UsIHNleC1hZGp1c3RlZCIsICJBZ2UsIHNleCwgYW5kIGFkanVzdGVkIGZvciByaXNrIGZhY3RvcnMiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHM9YygiQWdlLCBzZXgsIGFuZCBhZGp1c3RlZCBmb3IgcmlzayBmYWN0b3JzIiwgIkFnZSwgc2V4LWFkanVzdGVkIikpLAogICAgICAgICAgICAgICAgICBjZW4gPSBjKG1vZGVsc19tY3AxJE9SW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcGdfdWdfMjAxNV9yYW5rIl0pLAogICAgICAgICAgICAgICAgICBsb3cgPSBjKG1vZGVsc19tY3AxJGxvdzk1Q0lbbW9kZWxzX21jcDEkUHJlZGljdG9yPT0iTUNQMV9wZ191Z18yMDE1X3JhbmsiXSksCiAgICAgICAgICAgICAgICAgIGhpZ2ggPSBjKG1vZGVsc19tY3AxJHVwOTVDSVttb2RlbHNfbWNwMSRQcmVkaWN0b3I9PSJNQ1AxX3BnX3VnXzIwMTVfcmFuayJdKSkKCmZwIDwtIGdncGxvdChkYXRhID0gZGF0LCBhZXMoeCA9IGdyb3VwLCB5ID0gY2VuLCB5bWluID0gbG93LCB5bWF4ID0gaGlnaCkpICsKICBnZW9tX3BvaW50cmFuZ2UobGluZXR5cGUgPSAyLCBzaXplID0gMSwgY29sb3VyID0gYygiIzEyOTBEOSIsICIjNDlBMDFEIikpICsgCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMSwgbHR5ID0gMikgKyAgIyBhZGQgYSBkb3R0ZWQgbGluZSBhdCB4PTEgYWZ0ZXIgZmxpcAogIGNvb3JkX2ZsaXAoeWxpbSA9IGMoMC44LCAxLjcpKSArICAjIGZsaXAgY29vcmRpbmF0ZXMgKHB1dHMgbGFiZWxzIG9uIHkgYXhpcykKICB4bGFiKCJNb2RlbCIpICsgeWxhYigiT1IgKDk1JSBDSSkgZm9yIHN5bXB0b21hdGljIHBsYXF1ZXMiKSArCiAgZ2d0aXRsZSgiUGxhcXVlIE1DUC0xIGxldmVscyAoMSBTRCBpbmNyZW1lbnQpIikgKwogIHRoZW1lX21pbmltYWwoKSAgIyB1c2UgYSB3aGl0ZSBiYWNrZ3JvdW5kCnByaW50KGZwKQoKcm0oZnApCmBgYAoKCmBgYHtyIGZvcmVzdHBsb3QgcGxhc21hfQpkYXQgPC0gZGF0YS5mcmFtZShncm91cCA9IGZhY3RvcihjKCJBZ2UsIHNleC1hZGp1c3RlZCIsICJBZ2UsIHNleCwgYW5kIGFkanVzdGVkIGZvciByaXNrIGZhY3RvcnMiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHM9YygiQWdlLCBzZXgsIGFuZCBhZGp1c3RlZCBmb3IgcmlzayBmYWN0b3JzIiwgIkFnZSwgc2V4LWFkanVzdGVkIikpLAogICAgICAgICAgICAgICAgICBjZW4gPSBjKG1vZGVsc19tY3AxJE9SW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcmFuayJdKSwKICAgICAgICAgICAgICAgICAgbG93ID0gYyhtb2RlbHNfbWNwMSRsb3c5NUNJW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcmFuayJdKSwKICAgICAgICAgICAgICAgICAgaGlnaCA9IGMobW9kZWxzX21jcDEkdXA5NUNJW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcmFuayJdKSkKCmZwIDwtIGdncGxvdChkYXRhPWRhdCwgYWVzKHg9Z3JvdXAsIHk9Y2VuLCB5bWluPWxvdywgeW1heD1oaWdoKSkgKwogIGdlb21fcG9pbnRyYW5nZSgpICsgCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0PTEsIGx0eT0yKSArICAjIGFkZCBhIGRvdHRlZCBsaW5lIGF0IHg9MSBhZnRlciBmbGlwCiAgY29vcmRfZmxpcCgpICsgICMgZmxpcCBjb29yZGluYXRlcyAocHV0cyBsYWJlbHMgb24geSBheGlzKQogIHhsYWIoIk1vZGVsIikgKyB5bGFiKCJPUiAoOTUlIENJKSBmb3Igc3ltcHRvbWF0aWMgcGxhcXVlcyIpICsKICB0aGVtZSh0ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTQpKSArCiAgZ2d0aXRsZSgicGxhc21hIE1DUC0xIGxldmVscyAoMSBTRCBpbmNyZW1lbnQpIikgKwogIHRoZW1lX21pbmltYWwoKSAgIyB1c2UgYSB3aGl0ZSBiYWNrZ3JvdW5kCnByaW50KGZwKQpybShmcCkKYGBgCgojIyBNQ1AxIHZzLiBjeXRva2luZXMgcGxhcXVlIGxldmVscyBjb3JyZWxhdGlvbnMKCldlIHdpbGwgcGxvdCB0aGUgY29ycmVsYXRpb25zIG9mIG90aGVyIGN5dG9raW5lIHBsYXF1ZSBsZXZlbHMgdG8gdGhlIE1DUDEgcGxhcXVlIGxldmVscy4gVGhlc2UgaW5jbHVkZToKCi0gSUwyCi0gSUw0Ci0gSUw1Ci0gSUw2Ci0gSUw4Ci0gSUw5Ci0gSUwxMAotIElMMTIKLSBJTDEzCi0gSUwyMQotIElORkcKLSBUTkZBCi0gTUlGCi0gTUNQMQotIE1JUDFhCi0gUkFOVEVTCi0gTUlHCi0gSVAxMAotIEVvdGF4aW4xCi0gVEFSQwotIFBBUkMKLSBNREMKLSBPUEcKLSBzSUNBTTEKLSBWRUdGQQotIFRHRkIKCkluIGFkZGl0aW9uIHdlIHdpbGwgbG9vayBhdCB0aHJlZSBtZXRhbGxvcHJvdGVpbmFzZXMgd2hpY2ggd2VyZSBtZWFzdXJlZCB1c2luZyBhbiBhY3Rpdml0eSBhc3NheS4gCgotIE1NUDIKLSBNTVA4Ci0gTU1QOQoKVGhlIHByb3RlaW5zIHdlcmUgbWVhc3VyZWQgdXNpbmcgRkFDUyBhbmQgTFVNSU5FWC4gR2l2ZW4gdGhlIGRpZmZlcmVudCBwbGF0Zm9ybXMgdXNlZCAoRkFDUyB2cy4gTFVNSU5FWCksIHdlIHdpbGwgaW52ZXJzZSByYW5rLW5vcm1hbGl6ZSB0aGVzZSB2YXJpYWJsZXMgYXMgd2VsbCB0byBzY2FsZSB0aGVtIHRvIHRoZSBzYW1lIHNjYWxlIGFzIHRoZSBNQ1AxIHBsYXF1ZSBsZXZlbHMuCgoKV2Ugd2lsbCBzZXQgdGhlIG1lYXN1cmVtZW50cyB0aGF0IHlpZWxkZWQgJzAnIHRvIE5BLCBhcyBpdCBpcyB1bmxpa2VseSB0aGF0IGFueSBwcm90ZWluIGV2ZXIgaGFzIGV4YWN0bHkgMCBjb3BpZXMuIFRoZSAnMCcgeWllbGRlZCBkdXJpbmcgdGhlIGV4cGVyaW1lbnQgYXJlIGR1ZSB0byB0aGUgbGltaXRzIG9mIHRoZSBkZXRlY3Rpb24uCgojIyMgUHJlcGFyZSBkYXRhCmBgYHtyIE1DUDEgdnMgQ3l0b2tpbmVzIElOUlR9CmN5dG9raW5lcyA8LSBjKCJJTDIiLCAiSUw0IiwgIklMNSIsICJJTDYiLCAiSUw4IiwgIklMOSIsICJJTDEwIiwgIklMMTIiLCAiSUwxMyIsICJJTDIxIiwgCiAgICAgICAgICAgICAgICJJTkZHIiwgIlRORkEiLCAiTUlGIiwgIk1DUDEiLCAiTUlQMWEiLCAiUkFOVEVTIiwgIk1JRyIsICJJUDEwIiwgIkVvdGF4aW4xIiwgCiAgICAgICAgICAgICAgICJUQVJDIiwgIlBBUkMiLCAiTURDIiwgIk9QRyIsICJzSUNBTTEiLCAiVkVHRkEiLCAiVEdGQiIpCm1ldGFsbG9wcm90ZWluYXNlcyA8LSBjKCJNTVAyIiwgIk1NUDgiLCAiTU1QOSIpCgojIGZpeCBuYW1lcwpuYW1lcyhBRURCLkNFQSlbbmFtZXMoQUVEQi5DRUEpID09ICJWRUZHQSJdIDwtICJWRUdGQSIKCgpwcm90ZWluc19vZl9pbnRlcmVzdCA8LSBjKGN5dG9raW5lcywgbWV0YWxsb3Byb3RlaW5hc2VzKQoKcHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFuayA9IHVubGlzdChsYXBwbHkocHJvdGVpbnNfb2ZfaW50ZXJlc3QsIHBhc3RlMCwgIl9yYW5rIikpCgoKIyBtYWtlIHZhcmlhYmxlcyBudW1lcmljcygpCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JQogIG11dGF0ZV9lYWNoKGZ1bnMoYXMubnVtZXJpYyksIHByb3RlaW5zX29mX2ludGVyZXN0KQogIApmb3IoUFJPVEVJTiBpbiAxOmxlbmd0aChwcm90ZWluc19vZl9pbnRlcmVzdCkpewoKICAjIFVDT1JCSU9HU0FxYyRaIDwtIE5VTEwKICB2YXIudGVtcC5yYW5rID0gcHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFua1tQUk9URUlOXQogIHZhci50ZW1wID0gcHJvdGVpbnNfb2ZfaW50ZXJlc3RbUFJPVEVJTl0KICAKICBjYXQocGFzdGUwKCJcblNlbGVjdGluZyAiLCB2YXIudGVtcCwgIiBhbmQgc3RhbmRhcmRpc2luZzogIiwgdmFyLnRlbXAucmFuaywiLlxuIikpCiAgY2F0KHBhc3RlMCgiKiBjaGFuZ2luZyAiLCB2YXIudGVtcCwgIiB0byBudW1lcmljLlxuIikpCgogICMgQUVEQi5DRUEgPC0gIEFFREIuQ0VBICU+JSBtdXRhdGUoQUVEQi5DRUFbLHZhci50ZW1wXSA9PSByZXBsYWNlKEFFREIuQ0VBWyx2YXIudGVtcF0sIEFFREIuQ0VBWyx2YXIudGVtcF09PTAsIE5BKSkKCiAgQUVEQi5DRUFbLHZhci50ZW1wXVtBRURCLkNFQVssdmFyLnRlbXBdPT0wLjAwMDAwMF09TkEKCiAgY2F0KHBhc3RlMCgiKiBzdGFuZGFyZGlzaW5nICIsIHZhci50ZW1wLCAKICAgICAgICAgICAgICIgKG1lYW46ICIscm91bmQobWVhbighaXMubmEoQUVEQi5DRUFbLHZhci50ZW1wXSkpLCBkaWdpdHMgPSA2KSwKICAgICAgICAgICAgICIsIG4gPSAiLHN1bSghaXMubmEoQUVEQi5DRUFbLHZhci50ZW1wXSkpLCIpLlxuIikpCiAgCiAgQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lCiAgICAgIG11dGF0ZV9hdCh2YXJzKHZhci50ZW1wKSwgCiAgICAgICAgIyBsaXN0KFogPSB+IChBRURCLkNFQVssdmFyLnRlbXBdIC0gbWVhbihBRURCLkNFQVssdmFyLnRlbXBdLCBuYS5ybSA9IFRSVUUpKS9zZChBRURCLkNFQVssdmFyLnRlbXBdLCBuYS5ybSA9IFRSVUUpKQogICAgICAgIGxpc3QoUkFOSyA9IH4gcW5vcm0oKHJhbmsoQUVEQi5DRUFbLHZhci50ZW1wXSwgbmEubGFzdCA9ICJrZWVwIikgLSAwLjUpIC8gc3VtKCFpcy5uYShBRURCLkNFQVssdmFyLnRlbXBdKSkpKQogICAgICApCiAgIyBzdHIoVUNPUkJJT0dTQXFjJFopCiAgY2F0KHBhc3RlMCgiKiByZW5hbWluZyBSQU5LIHRvICIsIHZhci50ZW1wLnJhbmssIi5cbiIpKQogIEFFREIuQ0VBWyx2YXIudGVtcC5yYW5rXSA8LSBOVUxMCiAgbmFtZXMoQUVEQi5DRUEpW25hbWVzKEFFREIuQ0VBKSA9PSAiUkFOSyJdIDwtIHZhci50ZW1wLnJhbmsKfQoKIyBybSh2YXIudGVtcCwgdmFyLnRlbXAucmFuaykKCmBgYAoKIyMjIFZpc3VhbGl6ZSB0cmFuc2Zvcm1hdGlvbnMKCldlIHdpbGwganVzdCB2aXN1YWxpemUgdGhlc2UgdHJhbnNmb3JtYXRpb25zLgoKYGBge3IgTUNQMSB2cyBDeXRva2luZXMgSGlzdG9ncmFtc30KcHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFua19tY3AxIDwtIGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgcHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFuaykKCnByb3RlaW5zX29mX2ludGVyZXN0X21jcDEgPC0gYygiTUNQMV9wZ191Z18yMDE1IiwgIk1DUDFfcGdfbWxfMjAxNSIsIHByb3RlaW5zX29mX2ludGVyZXN0KQoKZm9yKFBST1RFSU4gaW4gcHJvdGVpbnNfb2ZfaW50ZXJlc3RfbWNwMSl7CiAgY2F0KHBhc3RlMCgiUGxvdHRpbmcgcHJvdGVpbiAiLCBQUk9URUlOLCAiLlxuIikpCiAgCiAgcDEgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgUFJPVEVJTiwKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICBhZGQgPSAibWVhbiIsCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMChQUk9URUlOLCAiIHBsYXF1ZSBsZXZlbHMiKSwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIiIsCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKICBwcmludChwMSkKICAKfQoKCmZvcihQUk9URUlOIGluIHByb3RlaW5zX29mX2ludGVyZXN0X3JhbmtfbWNwMSl7CiAgY2F0KHBhc3RlMCgiUGxvdHRpbmcgcHJvdGVpbiAiLCBQUk9URUlOLCAiLlxuIikpCiAgCiAgcDEgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgUFJPVEVJTiwKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICBhZGQgPSAibWVhbiIsCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMChQUk9URUlOLCAiIHBsYXF1ZSBsZXZlbHMiKSwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWF0aW9uIiwKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQogIHByaW50KHAxKQogIAp9CiAgCmBgYAoKIyMjIENvcnJlbGF0aW9ucwoKSGVyZSB3ZSBjYWxjdWxhdGUgY29ycmVsYXRpb25zIGJldHdlZW4gYE1DUDFfcGdfdWdfMjAxNWAgYW5kIDI4IG90aGVyIGN5dG9raW5lcyAoaW5jbHVkaW5nIGBNQ1AxYCBhcyBtZWFzdXJlZCBpbiBleHBlcmltZW50IDEuIFdlIHVzZSBTcGVhcm1hbidzIHRlc3QsIHRodXMsIGNvcnJlbGF0aW9ucyBhIGdpdmVuIGluIF9yaG9fLiBQbGVhc2Ugbm90ZSB0aGUgaW5kaWNhdGlvbnMgb2YgbWVhc3VyZW1lbnQgbWV0aG9kczoKCi0gX0xfOiBMVU1JTkVYCi0gX0VfOiBFTElTQQotIF9hXzogYWN0aXZpdHkgYXNzYXkKCmBgYHtyIE1DUDEgdnMgQ3l0b2tpbmVzIGNvcnJlbGF0aW9uc30KIyBJbnN0YWxsYXRpb24gb2YgZ2djb3JycGxvdCgpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoIXJlcXVpcmUoZGV2dG9vbHMpKSAKICBpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpCmRldnRvb2xzOjppbnN0YWxsX2dpdGh1Yigia2Fzc2FtYmFyYS9nZ2NvcnJwbG90IikKCmxpYnJhcnkoZ2djb3JycGxvdCkKCiMgQ3JlYXRpbmcgbWF0cml4IC0gaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9IGMocHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFua19tY3AxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgojIHN0cihBRURCLkNFQS50ZW1wKQpBRURCLkNFQS5tYXRyaXguUkFOSyA8LSBhcy5tYXRyaXgoQUVEQi5DRUEudGVtcCkKcm0oQUVEQi5DRUEudGVtcCkKCmNvcnJfYmlvbWFya2Vycy5yYW5rIDwtIHJvdW5kKGNvcihBRURCLkNFQS5tYXRyaXguUkFOSywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlID0gInBhaXJ3aXNlLmNvbXBsZXRlLm9icyIsICN0aGUgY29ycmVsYXRpb24gb3IgY292YXJpYW5jZSBiZXR3ZWVuIGVhY2ggcGFpciBvZiB2YXJpYWJsZXMgaXMgY29tcHV0ZWQgdXNpbmcgYWxsIGNvbXBsZXRlIHBhaXJzIG9mIG9ic2VydmF0aW9ucyBvbiB0aG9zZSB2YXJpYWJsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPSAic3BlYXJtYW4iKSwgMykKIyBjb3JyX2Jpb21hcmtlcnMucmFuawoKcmVuYW1lX3Byb3RlaW5zX29mX2ludGVyZXN0X21jcDEgPC0gYygiTUNQMSAoTCwgZXhwMiwgcGcvdWcpIiwgIk1DUDEgKEwsIGV4cDIsIHBnL21MKSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSUwyIiwgIklMNCIsICJJTDUiLCAiSUw2IiwgIklMOCIsICJJTDkiLCAiSUwxMCIsICJJTDEyIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJTDEzIChMKSIsICJJTDIxIChMKSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSU5GRyIsICJUTkZBIiwgIk1JRiAoTCkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1DUDEgKEwsIGV4cDEpIiwgIk1JUDFhIChMKSIsICJSQU5URVMgKEwpIiwgIk1JRyAoTCkiLCAiSVAxMCAoTCkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVvdGF4aW4xIChMKSIsICJUQVJDIChMKSIsICJQQVJDIChMKSIsICJNREMgKEwpIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPUEcgKEwpIiwgInNJQ0FNMSAoTCkiLCAiVkVHRkEgKEUpIiwgIlRHRkIgKEUpIiwgIk1NUDIgKGEpIiwgIk1NUDggKGEpIiwgIk1NUDkgKGEpIikKY29sbmFtZXMoY29ycl9iaW9tYXJrZXJzLnJhbmspIDwtIGMocmVuYW1lX3Byb3RlaW5zX29mX2ludGVyZXN0X21jcDEpCnJvd25hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rKSA8LSBjKHJlbmFtZV9wcm90ZWluc19vZl9pbnRlcmVzdF9tY3AxKQoKY29ycl9iaW9tYXJrZXJzX3AucmFuayA8LSBnZ2NvcnJwbG90Ojpjb3JfcG1hdChBRURCLkNFQS5tYXRyaXguUkFOSywgdXNlID0gInBhaXJ3aXNlLmNvbXBsZXRlLm9icyIsIG1ldGhvZCA9ICJzcGVhcm1hbiIpCgojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIyBmbGF0dGVuQ29yck1hdHJpeAojICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIyBjb3JtYXQgOiBtYXRyaXggb2YgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIHBtYXQgOiBtYXRyaXggb2YgdGhlIGNvcnJlbGF0aW9uIHAtdmFsdWVzCmZsYXR0ZW5Db3JyTWF0cml4IDwtIGZ1bmN0aW9uKGNvcm1hdCwgcG1hdCkgewogIHV0IDwtIHVwcGVyLnRyaShjb3JtYXQpCiAgZGF0YS5mcmFtZSgKICAgIHJvdyA9IHJvd25hbWVzKGNvcm1hdClbcm93KGNvcm1hdClbdXRdXSwKICAgIGNvbHVtbiA9IHJvd25hbWVzKGNvcm1hdClbY29sKGNvcm1hdClbdXRdXSwKICAgIGNvciAgPShjb3JtYXQpW3V0XSwKICAgIHAgPSBwbWF0W3V0XQogICAgKQp9Cgpjb3JyX2Jpb21hcmtlcnMucmFuay5kZiA8LSBmbGF0dGVuQ29yck1hdHJpeChjb3JyX2Jpb21hcmtlcnMucmFuaywgY29ycl9iaW9tYXJrZXJzX3AucmFuaykKCgpuYW1lcyhjb3JyX2Jpb21hcmtlcnMucmFuay5kZilbbmFtZXMoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYpID09ICJyb3ciXSA8LSAiQ3l0b2tpbmVfWCIKbmFtZXMoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYpW25hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmKSA9PSAiY29sdW1uIl0gPC0gIkN5dG9raW5lWSIKbmFtZXMoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYpW25hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmKSA9PSAiY29yIl0gPC0gIlNwZWFybWFuUmhvIgoKRFQ6OmRhdGF0YWJsZShjb3JyX2Jpb21hcmtlcnMucmFuay5kZikKCmZ3cml0ZShjb3JyX2Jpb21hcmtlcnMucmFuay5kZiwgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5jb3JyZWxhdGlvbl9jeXRva2luZXMudHh0IikpCgpgYGAKCmBgYHtyIE1DUDEgdnMgQ3l0b2tpbmVzIGhlYXRtYXB9CiMgQWRkIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgYXJndW1lbnQgbGFiID0gVFJVRQpwMSA8LSBnZ2NvcnJwbG90KGNvcnJfYmlvbWFya2Vycy5yYW5rLCAKICAgICAgICAgICBtZXRob2QgPSAic3F1YXJlIiwgCiAgICAgICAgICAgdHlwZSA9ICJsb3dlciIsCiAgICAgICAgICAgdGl0bGUgPSAiQ3Jvc3MgYmlvbWFya2VyIGNvcnJlbGF0aW9ucyIsIAogICAgICAgICAgIHNob3cubGVnZW5kID0gVFJVRSwgbGVnZW5kLnRpdGxlID0gYnF1b3RlKCJTcGVhcm1hbidzIn5pdGFsaWMocmhvKSksCiAgICAgICAgICAgZ2d0aGVtZSA9IGdncGxvdDI6OnRoZW1lX21pbmltYWwsIG91dGxpbmUuY29sb3IgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgc2hvdy5kaWFnID0gVFJVRSwKICAgICAgICAgICBoYy5vcmRlciA9IEZBTFNFLCAKICAgICAgICAgICBsYWIgPSBGQUxTRSwKICAgICAgICAgICBkaWdpdHMgPSAzLAogICAgICAgICAgIHRsLmNleCA9IDYsCiAgICAgICAgICAgIyB4bGFiID0gYygiTUNQMSIpLAogICAgICAgICAgICMgcC5tYXQgPSBjb3JyX2Jpb21hcmtlcnNfcC5yYW5rLCBzaWcubGV2ZWwgPSAwLjA1LAogICAgICAgICAgIGNvbG9ycyA9IGMoIiMxMjkwRDkiLCAiI0ZGRkZGRiIsICIjRTU1NzM4IikpCnAxCmdnc2F2ZShmaWxlbmFtZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLCBUb2RheSwgIi5jb3JyZWxhdGlvbl9jeXRva2luZXMucG5nIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKcm0ocDEpCgpgYGAKCldoaWxlIHZpc3VhbGx5IGFjdHJhY3RpdmUgd2UgYXJlIG5vdCBuZWNlc3NhcmlseSBpbnRlcmVzdGVkIGluIHRoZSBjb3JyZWxhdGlvbnMgYmV0d2VlbiBhbGwgdGhlIGN5dG9raW5lcywgcmF0aGVyIG9mIE1DUDEgd2l0aCBvdGhlciBjeXRva2luZXMgb25seS4KCmBgYHtyIE1DUDEgdnMgQ3l0b2tpbmVzIGJhcnBsb3R9CnRlbXAgPC0gc3Vic2V0KGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmLCBDeXRva2luZV9YID09ICJNQ1AxIChMLCBleHAyLCBwZy91ZykiICkKdGVtcCRwX2xvZzEwIDwtIC1sb2cxMCh0ZW1wJHApCnBfdGhyZXNob2xkIDwtIC1sb2cxMCgwLjA1LzI5KQpwX3RocmVzaG9sZApwMSA8LSBnZ2JhcnBsb3QodGVtcCwgeCA9ICJDeXRva2luZVkiLCB5ID0gIlNwZWFybWFuUmhvIiwKICAgICAgICAgIGZpbGwgPSAiQ3l0b2tpbmVZIiwgICAgICAgICAgICAgICAjIGNoYW5nZSBmaWxsIGNvbG9yIGJ5IGN5bAogICAgICAgICAgIyBjb2xvciA9ICJ3aGl0ZSIsICAgICAgICAgICAgIyBTZXQgYmFyIGJvcmRlciBjb2xvcnMgdG8gd2hpdGUKICAgICAgICAgIHBhbGV0dGUgPSB1aXRob2ZfY29sb3IsICAgICAgICAgICAgIyBqY28gam91cm5hbCBjb2xvciBwYWxldHQuIHNlZSA/Z2dwYXIKICAgICAgICAgIHhsYWIgPSAiQ3l0b2tpbmUiLAogICAgICAgICAgeWxhYiA9IGV4cHJlc3Npb24oIlNwZWFybWFuJ3Mifml0YWxpYyhyaG8pKSwKICAgICAgICAgIHNvcnQudmFsID0gImRlc2MiLCAgICAgICAgICAjIFNvcnQgdGhlIHZhbHVlIGluIGRzY2VuZGluZyBvcmRlcgogICAgICAgICAgc29ydC5ieS5ncm91cHMgPSBGQUxTRSwgICAgICMgRG9uJ3Qgc29ydCBpbnNpZGUgZWFjaCBncm91cAogICAgICAgICAgeC50ZXh0LmFuZ2xlID0gNDUsICMgUm90YXRlIHZlcnRpY2FsbHkgeCBheGlzIHRleHRzCiAgICAgICAgICBjZXggPSAwLjgKICAgICAgICAgICkKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCAKICAgICAgbGVnZW5kLnRpdGxlID0gIiIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSksCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDkpKSAKCnJtKHAxKQoKdGVtcCA8LSBzdWJzZXQoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYsIEN5dG9raW5lX1ggPT0gIk1DUDEgKEwsIGV4cDIsIHBnL21MKSIgKQp0ZW1wJHBfbG9nMTAgPC0gLWxvZzEwKHRlbXAkcCkKcF90aHJlc2hvbGQgPC0gLWxvZzEwKDAuMDUvMjkpCnBfdGhyZXNob2xkCnAxIDwtIGdnYmFycGxvdCh0ZW1wLCB4ID0gIkN5dG9raW5lWSIsIHkgPSAiU3BlYXJtYW5SaG8iLAogICAgICAgICAgZmlsbCA9ICJDeXRva2luZVkiLCAgICAgICAgICAgICAgICMgY2hhbmdlIGZpbGwgY29sb3IgYnkgY3lsCiAgICAgICAgICAjIGNvbG9yID0gIndoaXRlIiwgICAgICAgICAgICAjIFNldCBiYXIgYm9yZGVyIGNvbG9ycyB0byB3aGl0ZQogICAgICAgICAgcGFsZXR0ZSA9IHVpdGhvZl9jb2xvciwgICAgICAgICAgICAjIGpjbyBqb3VybmFsIGNvbG9yIHBhbGV0dC4gc2VlID9nZ3BhcgogICAgICAgICAgeGxhYiA9ICJDeXRva2luZSIsCiAgICAgICAgICB5bGFiID0gZXhwcmVzc2lvbigiU3BlYXJtYW4ncyJ+aXRhbGljKHJobykpLAogICAgICAgICAgc29ydC52YWwgPSAiZGVzYyIsICAgICAgICAgICMgU29ydCB0aGUgdmFsdWUgaW4gZHNjZW5kaW5nIG9yZGVyCiAgICAgICAgICBzb3J0LmJ5Lmdyb3VwcyA9IEZBTFNFLCAgICAgIyBEb24ndCBzb3J0IGluc2lkZSBlYWNoIGdyb3VwCiAgICAgICAgICB4LnRleHQuYW5nbGUgPSA0NSwgIyBSb3RhdGUgdmVydGljYWxseSB4IGF4aXMgdGV4dHMKICAgICAgICAgIGNleCA9IDAuOAogICAgICAgICAgKQpnZ3BhcihwMSwgbGVnZW5kID0gImJvdHRvbSIsIAogICAgICBsZWdlbmQudGl0bGUgPSAiIikgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5KSwKICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gOSkpIAoKcm0ocDEpCgpgYGAKCkFub3RoZXIgdmVyc2lvbiAtIHByb2JsYWJseSBub3QgZ29vZC4gCmBgYHtyIE1DUDEgdnMgQ3l0b2tpbmVzIGRvdGNoYXJ0fQoKcDEgPC0gZ2dkb3RjaGFydCh0ZW1wLCB4ID0gIkN5dG9raW5lWSIsIHkgPSAicF9sb2cxMCIsCiAgICAgICAgICAgY29sb3IgPSAiQ3l0b2tpbmVZIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ29sb3IgYnkgZ3JvdXBzCiAgICAgICAgICAgcGFsZXR0ZSA9IHVpdGhvZl9jb2xvciwgIyBDdXN0b20gY29sb3IgcGFsZXR0ZQogICAgICAgICAgIHhsYWIgPSAiQ3l0b2tpbmUiLAogICAgICAgICAgIHlsYWIgPSBleHByZXNzaW9uKGxvZ1sxMF1+Iigifml0YWxpYyhwKX4iKS12YWx1ZSIpLAogICAgICAgICAgIHlsaW0gPSBjKDAsIDYpLAogICAgICAgICAgIHNvcnRpbmcgPSAiZGVzY2VuZGluZyIsICAgICAgICAgICAgICAgICAgICAgICAjIFNvcnQgdmFsdWUgaW4gZGVzY2VuZGluZyBvcmRlcgogICAgICAgICAgIGFkZCA9ICJzZWdtZW50cyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEFkZCBzZWdtZW50cyBmcm9tIHkgPSAwIHRvIGRvdHMKICAgICAgICAgICByb3RhdGUgPSBGQUxTRSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgUm90YXRlIHZlcnRpY2FsbHkKICAgICAgICAgICAjIGdyb3VwID0gIkN5dG9raW5lWSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE9yZGVyIGJ5IGdyb3VwcwogICAgICAgICAgIGRvdC5zaXplID0gOCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIExhcmdlIGRvdCBzaXplCiAgICAgICAgICAgbGFiZWwgPSByb3VuZCh0ZW1wJFNwZWFybWFuUmhvLCBkaWdpdHMgPSAzKSwgICAgICAgICAgICAgICAgICAgICAgICAjIEFkZCBtcGcgdmFsdWVzIGFzIGRvdCBsYWJlbHMKICAgICAgICAgICBmb250LmxhYmVsID0gbGlzdChjb2xvciA9ICJ3aGl0ZSIsIHNpemUgPSA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2anVzdCA9IDAuNSkgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgKQpnZ3BhcihwMSwgbGVnZW5kID0gImJvdHRvbSIsIAogICAgICBsZWdlbmQudGl0bGUgPSAiIikgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5KSwKICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gOSkpCgpybSh0ZW1wLCBwMSkKCmBgYAoKCiMjIE1DUDEgdnMuIGN5dG9raW5lcyBwbGFxdWUgbGV2ZWxzIGBsbSgpYAoKIyMjIE1vZGVsIDEKCkluIHRoaXMgbW9kZWwgd2UgY29ycmVjdCBmb3IgX0FnZV8sIF9HZW5kZXJfLCBhbmQgX3llYXIgb2Ygc3VyZ2VyeV8uCgpIZXJlIHdlIHVzZSB0aGUgaW52ZXJzZS1yYW5rIG5vcm1hbGl6ZWQgZGF0YSAtIHZpc3VhbGx5IHRoaXMgaXMgbW9yZSBub3JtYWxseSBkaXN0cmlidXRlZC4KCkFuYWx5c2lzIG9mIHBsYXF1ZSBjeXRva2luZXMgdHJhaXRzIGFzIGEgZnVuY3Rpb24gb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscy4KYGBge3IgQ3Jvc3NTZWM6IEN5dG9raW5lcyAtIGxpbmVhciByZWdyZXNzaW9uIE1PREVMMSBSQU5LLCBpbmNsdWRlPVRSVUUsIHBhZ2VkLnByaW50PVRSVUV9CgpHTE0ucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE1LCBucm93ID0gMCkpCmNhdCgiUnVubmluZyBsaW5lYXIgcmVncmVzc2lvbi4uLlxuIikKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgZm9yICh0cmFpdCBpbiAxOmxlbmd0aChwcm90ZWluc19vZl9pbnRlcmVzdF9yYW5rKSkgewogICAgVFJBSVQgPSBwcm90ZWluc19vZl9pbnRlcmVzdF9yYW5rW3RyYWl0XQogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTEpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyMjIHVuaXZhcmlhdGUKICAgIGZpdCA8LSBsbShjdXJyZW50REZbLFBST1RFSU5dIH4gY3VycmVudERGWyxUUkFJVF0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciwgZGF0YSA9IGN1cnJlbnRERikKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCgogICAgR0xNLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE1LCBucm93ID0gMCkpCiAgICBHTE0ucmVzdWx0cy5URU1QWzEsXSA9IEdMTS5DT04oZml0LCAiQUVEQi5DRUEiLCBQUk9URUlOLCBUUkFJVCwgdmVyYm9zZSA9IFRSVUUpCiAgICBHTE0ucmVzdWx0cyA9IHJiaW5kKEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QKQogIH0KfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiVC12YWx1ZSIsICJQLXZhbHVlIiwgInJeMiIsICJyXjJfYWRqIiwgIkFFX04iLCAiTW9kZWxfTiIsICJQZXJjX01pc3MiKQoKY2F0KCJDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKR0xNLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJEJldGEpCkdMTS5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHMuZS5tLikKR0xNLnJlc3VsdHMkT1IgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRPUikKR0xNLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGxvdzk1Q0kpCkdMTS5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHVwOTVDSSkKR0xNLnJlc3VsdHMkYFQtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFQtdmFsdWVgKQpHTE0ucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUC12YWx1ZWApCkdMTS5yZXN1bHRzJGByXjJgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMmApCkdMTS5yZXN1bHRzJGByXjJfYWRqYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfYWRqYCkKR0xNLnJlc3VsdHMkYEFFX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYEFFX05gKQpHTE0ucmVzdWx0cyRgTW9kZWxfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgTW9kZWxfTmApCkdMTS5yZXN1bHRzJGBQZXJjX01pc3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2ApCmBgYAoKYGBge3IgQ3Jvc3NTZWM6IEN5dG9raW5lcyAtIGxpbmVhciByZWdyZXNzaW9uIE1PREVMMSBSQU5LIFdyaXRpbmd9CkRUOjpkYXRhdGFibGUoR0xNLnJlc3VsdHMpCgojIFNhdmUgdGhlIGRhdGEKY2F0KCJXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKIyMjIFVuaXZhcmlhdGUKbGlicmFyeShvcGVueGxzeCkKd3JpdGUueGxzeChHTE0ucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNvbi5VbmkuTUNQMV9QbGFxdWUuQ3l0b2tpbmVzX1BsYXF1ZXMuUkFOSy5NT0RFTDEueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQ29uLlVuaS5QbGFxdWVQaGVubyIpCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIlJlbW92aW5nIGludGVybWVkaWF0ZSBmaWxlcy4uLlxuIikKcm0oVFJBSVQsIHRyYWl0LCBjdXJyZW50REYsIEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QLCBmaXQsIG1vZGVsX3N0ZXApCgoKYGBgCgoKCiMjIyBNb2RlbCAyCgpJbiB0aGlzIG1vZGVsIHdlIGNvcnJlY3QgZm9yIF9BZ2VfLCBfR2VuZGVyXywgX3llYXIgb2Ygc3VyZ2VyeV8sIF9IeXBlcnRlbnNpb24gc3RhdHVzXywgX0RpYWJldGVzIHN0YXR1c18sIF9jdXJyZW50IHNtb2tlciBzdGF0dXNfLCBfbGlwaWQtbG93ZXJpbmcgZHJ1Z3MgKExMRHMpXywgX2FudGlwbGF0ZWxldCBtZWRpY2F0aW9uXywgX2VHRlIgKE1EUkQpXywgX0JNSV8sIF9NZWRIeF9DVkRfIChjb21iaW5hdGlvbiBvZiBfQ0FEIGhpc3RvcnlfLCBfc3Ryb2tlIGhpc3RvcnlfLCBhbmQgX3BlcmlwaGVyYWwgaW50ZXJ2ZW50aW9uc18pLCBhbmQgX3N0ZW5vc2lzXy4KCkhlcmUgd2UgdXNlIHRoZSBpbnZlcnNlLXJhbmsgbm9ybWFsaXplZCBkYXRhIC0gdmlzdWFsbHkgdGhpcyBpcyBtb3JlIG5vcm1hbGx5IGRpc3RyaWJ1dGVkLgoKQW5hbHlzaXMgb2YgcGxhcXVlIGN5dG9raW5lcyBhcyBhIGZ1bmN0aW9uIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMuCmBgYHtyIENyb3NzU2VjOiBDeXRva2luZXMgLSBsaW5lYXIgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQpjYXQoIlJ1bm5pbmcgbGluZWFyIHJlZ3Jlc3Npb24uLi5cbiIpCmZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSkgewogIFBST1RFSU4gPSBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dCiAgY2F0KHBhc3RlMCgiXG5BbmFseXNpcyBvZiAiLFBST1RFSU4sIi5cbiIpKQogIGZvciAodHJhaXQgaW4gMTpsZW5ndGgocHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFuaykpIHsKICAgIFRSQUlUID0gcHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFua1t0cmFpdF0KICAgIGNhdChwYXN0ZTAoIlxuLSBwcm9jZXNzaW5nICIsVFJBSVQsIlxuXG4iKSkKICAgIGN1cnJlbnRERiA8LSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBICU+JQogICAgICBkcGx5cjo6c2VsZWN0KC4sIFBST1RFSU4sIFRSQUlULCBDT1ZBUklBVEVTX00yKSAlPiUKICAgICAgZmlsdGVyKGNvbXBsZXRlLmNhc2VzKC4pKSkgJT4lCiAgICAgIGZpbHRlcl9pZih+aXMubnVtZXJpYyguKSwgYWxsX3ZhcnMoIWlzLmluZmluaXRlKC4pKSkKICAgICMgZm9yIGRlYnVnCiAgICAjIHByaW50KERUOjpkYXRhdGFibGUoY3VycmVudERGKSkKICAgICMgcHJpbnQobnJvdyhjdXJyZW50REYpKQogICAgIyBwcmludChzdHIoY3VycmVudERGKSkKICAgICMjIyB1bml2YXJpYXRlCiAgICBmaXQgPC0gbG0oY3VycmVudERGWyxQUk9URUlOXSB+IGN1cnJlbnRERlssVFJBSVRdICsgQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyAKICAgICAgICAgICAgICAgIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlclN0YXR1cyArIAogICAgICAgICAgICAgICAgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgCiAgICAgICAgICAgICAgICBNZWRIeF9DVkQgKyBzdGVub3NlLCAKICAgICAgICAgICAgICBkYXRhID0gY3VycmVudERGKQogICAgbW9kZWxfc3RlcCA8LSBzdGVwQUlDKGZpdCwgZGlyZWN0aW9uID0gImJvdGgiLCB0cmFjZSA9IEZBTFNFKQogICAgcHJpbnQobW9kZWxfc3RlcCkKICAgIHByaW50KHN1bW1hcnkoZml0KSkKICAgIAogICAgR0xNLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE1LCBucm93ID0gMCkpCiAgICBHTE0ucmVzdWx0cy5URU1QWzEsXSA9IEdMTS5DT04oZml0LCAiQUVEQi5DRUEiLCBQUk9URUlOLCBUUkFJVCwgdmVyYm9zZSA9IFRSVUUpCiAgICBHTE0ucmVzdWx0cyA9IHJiaW5kKEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QKQogIH0KfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiVC12YWx1ZSIsICJQLXZhbHVlIiwgInJeMiIsICJyXjJfYWRqIiwgIkFFX04iLCAiTW9kZWxfTiIsICJQZXJjX01pc3MiKQoKY2F0KCJDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKR0xNLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJEJldGEpCkdMTS5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHMuZS5tLikKR0xNLnJlc3VsdHMkT1IgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRPUikKR0xNLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGxvdzk1Q0kpCkdMTS5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHVwOTVDSSkKR0xNLnJlc3VsdHMkYFQtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFQtdmFsdWVgKQpHTE0ucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUC12YWx1ZWApCkdMTS5yZXN1bHRzJGByXjJgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMmApCkdMTS5yZXN1bHRzJGByXjJfYWRqYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfYWRqYCkKR0xNLnJlc3VsdHMkYEFFX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYEFFX05gKQpHTE0ucmVzdWx0cyRgTW9kZWxfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgTW9kZWxfTmApCkdMTS5yZXN1bHRzJGBQZXJjX01pc3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2ApCmBgYAoKYGBge3IgQ3Jvc3NTZWM6IEN5dG9raW5lcyAtIGxpbmVhciByZWdyZXNzaW9uIE1PREVMMiBSQU5LLCB3cml0aW5nfQpEVDo6ZGF0YXRhYmxlKEdMTS5yZXN1bHRzKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCiMjIyBVbml2YXJpYXRlCmxpYnJhcnkob3Blbnhsc3gpCndyaXRlLnhsc3goR0xNLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db24uTXVsdGkuTUNQMV9QbGFxdWUuQ3l0b2tpbmVzX1BsYXF1ZXMuUkFOSy5NT0RFTDIueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQ29uLk11bHRpLlBsYXF1ZVBoZW5vIikKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShUUkFJVCwgdHJhaXQsIGN1cnJlbnRERiwgR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVAsIGZpdCwgbW9kZWxfc3RlcCkKCgpgYGAKCiMjIE1DUDEgY3l0b2tpbmVzIHBsYXF1ZSBsZXZlbHMgdnMuIHZ1bG5lcmFiaWxpdHkgaW5kZXgKCkhlcmUgd2UgY2FsY3VsYXRlIHRoZSBwbGFxdWUgaW5zdGFiaWxpdHkvdnVsbmVyYWJpbGl0eSBpbmRleAoKYGBge3IgUGxhcXVlIFZ1bG5lcmFiaWxpdHl9CiMgUGxhcXVlIHZ1bG5lcmFiaWxpdHkKCnRhYmxlKEFFREIuQ0VBJE1hY3JvcGhhZ2VzLmJpbikKdGFibGUoQUVEQi5DRUEkRmF0LmJpbl8xMCkKdGFibGUoQUVEQi5DRUEkQ29sbGFnZW4uYmluKQp0YWJsZShBRURCLkNFQSRTTUMuYmluKQp0YWJsZShBRURCLkNFQSRJUEguYmluKQoKIyBTUFNTIGNvZGUKCiMgCiMgKioqIHN5bnRheC0gUGxhcXVlIHZ1bG5lcmFiaWxpdHkqKi4KIyBDT01QVVRFIE1hY3JvX2luc3RhYiA9IC05OTkuCiMgSUYgbWFjcm9waGFnZXMuYmluPTIgTWFjcm9faW5zdGFiPTEuCiMgSUYgbWFjcm9waGFnZXMuYmluPTEgTWFjcm9faW5zdGFiPTAuCiMgRVhFQ1VURS4KIyAKIyBDT01QVVRFIEZhdDEwX2luc3RhYiA9IC05OTkuCiMgSUYgRmF0LmJpbl8xMD0yIEZhdDEwX2luc3RhYj0xLgojIElGIEZhdC5iaW5fMTA9MSBGYXQxMF9pbnN0YWI9MC4KIyBFWEVDVVRFLgojIAojIENPTVBVVEUgY29sbF9pbnN0YWI9LTk5OS4KIyBJRiBDb2xsYWdlbi5iaW49MiBjb2xsX2luc3RhYj0wLgojIElGIENvbGxhZ2VuLmJpbj0xIGNvbGxfaW5zdGFiPTEuCiMgRVhFQ1VURS4KIyAKIyAKIyBDT01QVVRFIFNNQ19pbnN0YWI9LTk5OS4KIyBJRiBTTUMuYmluPTIgU01DX2luc3RhYj0wLgojIElGIFNNQy5iaW49MSBTTUNfaW5zdGFiPTEuCiMgRVhFQ1VURS4KIyAKIyBDT01QVVRFIElQSF9pbnN0YWI9LTk5OS4KIyBJRiBJUEguYmluPTAgSVBIX2luc3RhYj0wLgojIElGIElQSC5iaW49MSBJUEhfaW5zdGFiPTEuCiMgRVhFQ1VURS4KIyAKIyBDT01QVVRFIEluc3RhYmlsaXR5PU1hY3JvX2luc3RhYiArIEZhdDEwX2luc3RhYiArICBjb2xsX2luc3RhYiArIFNNQ19pbnN0YWIgKyBJUEhfaW5zdGFiLgojIEVYRUNVVEUuCgojIEZpeCBwbGFxdWVwaGVub3R5cGVzCmF0dGFjaChBRURCLkNFQSkKIyBtYWMgaW5zdGFiaWxpdHkKQUVEQi5DRUFbLCJNQUNfSW5zdGFiaWxpdHkiXSA8LSBOQQpBRURCLkNFQSRNQUNfSW5zdGFiaWxpdHlbTWFjcm9waGFnZXMuYmluID09IC05OTldIDwtIE5BCkFFREIuQ0VBJE1BQ19JbnN0YWJpbGl0eVtNYWNyb3BoYWdlcy5iaW4gPT0gIm5vL21pbm9yIl0gPC0gMApBRURCLkNFQSRNQUNfSW5zdGFiaWxpdHlbTWFjcm9waGFnZXMuYmluID09ICJtb2RlcmF0ZS9oZWF2eSJdIDwtIDEKCiMgZmF0IGluc3RhYmlsaXR5CkFFREIuQ0VBWywiRkFUMTBfSW5zdGFiaWxpdHkiXSA8LSBOQQpBRURCLkNFQSRGQVQxMF9JbnN0YWJpbGl0eVtGYXQuYmluXzEwID09IC05OTldIDwtIE5BCkFFREIuQ0VBJEZBVDEwX0luc3RhYmlsaXR5W0ZhdC5iaW5fMTAgPT0gIiA8MTAlIl0gPC0gMApBRURCLkNFQSRGQVQxMF9JbnN0YWJpbGl0eVtGYXQuYmluXzEwID09ICIgPjEwJSJdIDwtIDEKCiMgY29sIGluc3RhYmlsaXR5IApBRURCLkNFQVssIkNPTF9JbnN0YWJpbGl0eSJdIDwtIE5BCkFFREIuQ0VBJENPTF9JbnN0YWJpbGl0eVtDb2xsYWdlbi5iaW4gPT0gLTk5OV0gPC0gTkEKQUVEQi5DRUEkQ09MX0luc3RhYmlsaXR5W0NvbGxhZ2VuLmJpbiA9PSAibm8vbWlub3IiXSA8LSAxCkFFREIuQ0VBJENPTF9JbnN0YWJpbGl0eVtDb2xsYWdlbi5iaW4gPT0gIm1vZGVyYXRlL2hlYXZ5Il0gPC0gMAoKIyBzbWMgaW5zdGFiaWxpdHkKQUVEQi5DRUFbLCJTTUNfSW5zdGFiaWxpdHkiXSA8LSBOQQpBRURCLkNFQSRTTUNfSW5zdGFiaWxpdHlbU01DLmJpbiA9PSAtOTk5XSA8LSBOQQpBRURCLkNFQSRTTUNfSW5zdGFiaWxpdHlbU01DLmJpbiA9PSAibm8vbWlub3IiXSA8LSAxCkFFREIuQ0VBJFNNQ19JbnN0YWJpbGl0eVtTTUMuYmluID09ICJtb2RlcmF0ZS9oZWF2eSJdIDwtIDAKCiMgaXBoIGluc3RhYmlsaXR5CkFFREIuQ0VBWywiSVBIX0luc3RhYmlsaXR5Il0gPC0gTkEKQUVEQi5DRUEkSVBIX0luc3RhYmlsaXR5W0lQSC5iaW4gPT0gLTk5OV0gPC0gTkEKQUVEQi5DRUEkSVBIX0luc3RhYmlsaXR5W0lQSC5iaW4gPT0gIm5vIl0gPC0gMApBRURCLkNFQSRJUEhfSW5zdGFiaWxpdHlbSVBILmJpbiA9PSAieWVzIl0gPC0gMQoKZGV0YWNoKEFFREIuQ0VBKQoKdGFibGUoQUVEQi5DRUEkTUFDX0luc3RhYmlsaXR5LCB1c2VOQSA9ICJpZmFueSIpCnRhYmxlKEFFREIuQ0VBJEZBVDEwX0luc3RhYmlsaXR5LCB1c2VOQSA9ICJpZmFueSIpCnRhYmxlKEFFREIuQ0VBJENPTF9JbnN0YWJpbGl0eSwgdXNlTkEgPSAiaWZhbnkiKQp0YWJsZShBRURCLkNFQSRTTUNfSW5zdGFiaWxpdHksIHVzZU5BID0gImlmYW55IikKdGFibGUoQUVEQi5DRUEkSVBIX0luc3RhYmlsaXR5LCB1c2VOQSA9ICJpZmFueSIpCgojIGNyZWF0aW5nIHZ1bG5lcmFiaWxpdHkgaW5kZXgKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lIG11dGF0ZShQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCA9IGZhY3Rvcihyb3dTdW1zKC5bZ3JlcCgiX0luc3RhYmlsaXR5IiwgbmFtZXMoLikpXSwgbmEucm0gPSBUUlVFKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKdGFibGUoQUVEQi5DRUEkUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgsIHVzZU5BID0gImlmYW55IikKCiMgc3RyKEFFREIuQ0VBJFBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4KQoKYGBgCgpIZXJlIHdlIHBsb3QgdGhlIGxldmVscyBvZiBpbnZlcnNlLXJhbmsgbm9ybWFsIHRyYW5zZm9ybWVkIGBNQ1AxYCBwbGFxdWUgbGV2ZWxzIGZyb20gZXhwZXJpbWVudCAxIGFuZCAyIHRvIHRoZSBgUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXhgLiAKYGBge3IgRml4IE9SeWVhckdyb3VwfQpsaWJyYXJ5KHNqbGFiZWxsZWQpCmF0dGFjaChBRURCLkNFQSkKQUVEQi5DRUEkeWVhcnRlbXAgPC0gYXMubnVtZXJpYyh5ZWFyKEFFREIuQ0VBJGRhdGVvaykpCkFFREIuQ0VBWywiT1J5ZWFyR3JvdXAiXSA8LSBOQQpBRURCLkNFQSRPUnllYXJHcm91cFt5ZWFydGVtcCA8PSAyMDA3XSA8LSAiPCAyMDA3IgpBRURCLkNFQSRPUnllYXJHcm91cFt5ZWFydGVtcCA+IDIwMDddIDwtICI+IDIwMDciCmRldGFjaChBRURCLkNFQSkKCnRhYmxlKEFFREIuQ0VBJE9SeWVhckdyb3VwLCBBRURCLkNFQSRPUmRhdGVfeWVhcikKYGBgCgpgYGB7ciBNQ1AxIHBlciBQbGFxdWVWdWxuZXJhYmlsaXR5SW5kZXh9CiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihJTlQsIGV4cCAyKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gImJvdHRvbSIsIGxlZ2VuZC50aXRsZSA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCnAyIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ19tbF8yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL21MXVxuKElOVCwgZXhwIDIpIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMiwgbGVnZW5kID0gImJvdHRvbSIsIGxlZ2VuZC50aXRsZSA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCnAzIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy9tTF1cbihJTlQsIGV4cCAxKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwYXIocDMsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQoKCnAxIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKElOVCwgZXhwIDIpIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGZhY2V0LmJ5ID0gIk9SeWVhckdyb3VwIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMiA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy9tTF1cbihJTlQsIGV4cCAyKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBmYWNldC5ieSA9ICJPUnllYXJHcm91cCIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMiwgbGVnZW5kID0gImJvdHRvbSIsIGxlZ2VuZC50aXRsZSA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCnAzIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy9tTF1cbihJTlQsIGV4cCAxKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBmYWNldC5ieSA9ICJPUnllYXJHcm91cCIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMywgbGVnZW5kID0gImJvdHRvbSIsIGxlZ2VuZC50aXRsZSA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIpCmBgYAoKCiMjIyBNb2RlbCAxCgpJbiB0aGlzIG1vZGVsIHdlIGNvcnJlY3QgZm9yIF9BZ2VfLCBfR2VuZGVyXywgYW5kIF95ZWFyIG9mIHN1cmdlcnlfLgoKSGVyZSB3ZSB1c2UgdGhlIGludmVyc2UtcmFuayBub3JtYWxpemVkIGRhdGEgLSB2aXN1YWxseSB0aGlzIGlzIG1vcmUgbm9ybWFsbHkgZGlzdHJpYnV0ZWQuCgpBbmFseXNpcyBvZiB0aGUgcGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXogYXMgYSBmdW5jdGlvbiBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzLgpgYGB7ciBDcm9zc1NlYzogUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXggLSBvcmRpbmFsIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KVFJBSVRTLlBST1RFSU4uUkFOSy5leHRyYSA9IGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgICJNQ1AxX3JhbmsiKQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQpmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSy5leHRyYSkpIHsKICBQUk9URUlOID0gVFJBSVRTLlBST1RFSU4uUkFOSy5leHRyYVtwcm90ZWluXQogIGNhdChwYXN0ZTAoIlxuQW5hbHlzaXMgb2YgIixQUk9URUlOLCIuXG4iKSkKICBUUkFJVCA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIKICAgIGNhdChwYXN0ZTAoIlxuLSBwcm9jZXNzaW5nICIsVFJBSVQsIlxuXG4iKSkKICAgIGN1cnJlbnRERiA8LSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBICU+JQogICAgICBkcGx5cjo6c2VsZWN0KC4sIFBST1RFSU4sIFRSQUlULCBDT1ZBUklBVEVTX00xLCBPUmRhdGVfZXBvY2gpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyBwcmludChjbGFzcyhjdXJyZW50REZbLFRSQUlUXSkpCiAgICAjIHRhYmxlKGN1cnJlbnRERiRPUmRhdGVfeWVhcikKICAgICMjIyB1bml2YXJpYXRlCiAgICAgIyArIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlckN1cnJlbnQgKyAKICAgICAjICAgICAgICAgICAgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgCiAgICAgIyAgICAgICAgICAgIENBRF9oaXN0b3J5ICsgU3Ryb2tlX2hpc3RvcnkgKyBQZXJpcGhlcmFsLmludGVydiArIHN0ZW5vc2UKICAgIGZpdCA8LSBwb2xyKGN1cnJlbnRERlssVFJBSVRdIH4gY3VycmVudERGWyxQUk9URUlOXSArIEFnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyLCAKICAgICAgICAgICAgICBkYXRhICA9ICBjdXJyZW50REYsIAogICAgICAgICAgICAgIEhlc3MgPSBUUlVFKQogICAgcHJpbnQoc3VtbWFyeShmaXQpKQogICAgCiAgICAjIyBzdG9yZSB0YWJsZQogICAgKGN0YWJsZSA8LSBjb2VmKHN1bW1hcnkoZml0KSkpCgogICAgIyMgY2FsY3VsYXRlIGFuZCBzdG9yZSBwIHZhbHVlcwogICAgcCA8LSBwbm9ybShhYnMoY3RhYmxlWywgInQgdmFsdWUiXSksIGxvd2VyLnRhaWwgPSBGQUxTRSkgKiAyCiAgICAKICAgICMjIGNvbWJpbmVkIHRhYmxlCiAgICBwcmludCgoY3RhYmxlIDwtIGNiaW5kKGN0YWJsZSwgInAgdmFsdWUiID0gcCkpKQogIH0KCmBgYAoKIyMjIE1vZGVsIDIKCkluIHRoaXMgbW9kZWwgd2UgY29ycmVjdCBmb3IgX0FnZV8sIF9HZW5kZXJfLCBfSHlwZXJ0ZW5zaW9uIHN0YXR1c18sIF9EaWFiZXRlcyBzdGF0dXNfLCBfY3VycmVudCBzbW9rZXIgc3RhdHVzXywgX2xpcGlkLWxvd2VyaW5nIGRydWdzIChMTERzKV8sIF9hbnRpcGxhdGVsZXQgbWVkaWNhdGlvbl8sIF9lR0ZSIChNRFJEKV8sIF9CTUlfLCBfTWVkSHhfQ1ZEXyAoY29tYmluYXRpb24gb2YgX0NBRCBoaXN0b3J5XywgX3N0cm9rZSBoaXN0b3J5XywgYW5kIF9wZXJpcGhlcmFsIGludGVydmVudGlvbnNfKSwgYW5kIF9zdGVub3Npcy5fLgoKCmBgYHtyIENyb3NzU2VjOiBQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCAtIG9yZGluYWwgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTksuZXh0cmEpKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTksuZXh0cmFbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgVFJBSVQgPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMikgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMjIyB1bml2YXJpYXRlCgogICAgZml0IDwtIHBvbHIoYXMuZmFjdG9yKGN1cnJlbnRERlssVFJBSVRdKSB+IGN1cnJlbnRERlssUFJPVEVJTl0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciArIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlclN0YXR1cyArIE1lZC5TdGF0aW4uTExEICsgTWVkLmFsbC5hbnRpcGxhdGVsZXQgKyBHRlJfTURSRCArIEJNSSArIE1lZEh4X0NWRCArIHN0ZW5vc2UsIAogICAgICAgICAgICAgIGRhdGEgID0gIGN1cnJlbnRERiwgCiAgICAgICAgICAgICAgSGVzcyA9IFRSVUUpCgogICAgcHJpbnQoc3VtbWFyeShmaXQpKQogICAgCiAgICAjIyBzdG9yZSB0YWJsZQogICAgKGN0YWJsZSA8LSBjb2VmKHN1bW1hcnkoZml0KSkpCgogICAgIyMgY2FsY3VsYXRlIGFuZCBzdG9yZSBwIHZhbHVlcwogICAgcCA8LSBwbm9ybShhYnMoY3RhYmxlWywgInQgdmFsdWUiXSksIGxvd2VyLnRhaWwgPSBGQUxTRSkgKiAyCiAgICAKICAgICMjIGNvbWJpbmVkIHRhYmxlCiAgICBwcmludCgoY3RhYmxlIDwtIGNiaW5kKGN0YWJsZSwgInAgdmFsdWUiID0gcCkpKQogIH0KCgpgYGAKCiMjIENvbXBhcmlzb24gc2FtcGxlIHR5cGVzIE9MSU5LLXBsYXRmb3JtCgpXZSBwZXJmb3JtZWQgYSBwaWxvdCBleHBlcmltZW50IGNvbXBhcmluZyBwbGFzbWEgYW5kIHBsYXF1ZS1kZXJpdmVkIHByb3RlaW4gbGV2ZWxzIGFzIG1lYXN1cmVkIHVzaW5nIHRoZSBPTElOSyBwbGF0Zm9ybS4KCk15IGNvbGxlYWd1ZSwgQXJqYW4gQm9sdGplcywgYW5hbHl6ZWQgdGhpcy4gQmVsb3cgc29tZSBncmFwaHMgYW5kIHNvbWUgc3RhdGlzdGljcy4gCgpfZXN0aW1hdGVfOiAgICAtMC4wMDA0MDkzODA5Cl9zdGF0aXN0aWNfOiAgIC0wLjAwMzc3NDMwNgpfcC52YWx1ZV86ICAgICAwLjk5Njk5NzQKX3BhcmFtZXRlcl86ICAgODUKX2NvbmYubG93XzogICAgLTAuMjExMDM5NApfY29uZi5oaWdoXzogICAwLjIxMDI1NwkKX21ldGhvZF86ICAgICAgUGVhcnNvbidzIHByb2R1Y3QtbW9tZW50IGNvcnJlbGF0aW9uCQpfYWx0ZXJuYXRpdmU6XyB0d28uc2lkZWQKCioqRmlndXJlIDE6IERpc3RyaWJ1dGlvbnMgb2YgcGxhcXVlIGFuZCBwbGFzbWEgTUNQMSBsZXZlbHMuKiogTWVhc3VyZWQgdXNpbmcgdGhlIE9MSU5LLXBsYXRmb3JtIChDVkQtSUlJIHBhbmVsKS4gUGlsb3QgZXhwZXJpbWVudCB3aXRoIG4gPSA4OCBzYW1wbGVzLiAKIVtEaXN0cmlidXRpb25zIHBsYXF1ZSBhbmQgcGxhc21hIE1DUDEgbGV2ZWxzXShwbGFzbWFfdnNfYnVsa19PTElOS19NQ1AxL2ZpZ3VyZXMvaGlzdF9vbGluay0yLnBuZykKCioqRmlndXJlIDI6IENvbXBhcmlzb24gb2YgcGxhcXVlIGFuZCBwbGFzbWEgTUNQMSBsZXZlbHMuKiogTWVhc3VyZWQgdXNpbmcgdGhlIE9MSU5LLXBsYXRmb3JtIChDVkQtSUlJIHBhbmVsKS4gUGlsb3QgZXhwZXJpbWVudCB3aXRoIG4gPSA4OCBzYW1wbGVzLiBfQVVfID0gQXJiaXRyYXJ5IHVuaXQuCiFbQ29tcGFyaW5nIHBsYXF1ZSBhbmQgcGxhc21hIE1DUDEgbGV2ZWxzIChBVSldKHBsYXNtYV92c19idWxrX09MSU5LX01DUDEvZmlndXJlcy9jb3JyX29saW5rLTEucG5nKQoKCiMgU2Vzc2lvbiBpbmZvcm1hdGlvbgoKLS0tLS0tCgogICAgVmVyc2lvbjogICAgICB2MS4wLjEyCiAgICBMYXN0IHVwZGF0ZTogIDIwMjAtMDctMDYKICAgIFdyaXR0ZW4gYnk6ICAgU2FuZGVyIFcuIHZhbiBkZXIgTGFhbiAocy53LnZhbmRlcmxhYW4tMlthdF11bWN1dHJlY2h0Lm5sKS4KICAgIERlc2NyaXB0aW9uOiAgU2NyaXB0IHRvIGFuYWx5c2UgTUNQMSBmcm9tIHRoZSBBdGhlci1FeHByZXNzIEJpb2JhbmsgU3R1ZHkuCiAgICBNaW5pbXVtIHJlcXVpcmVtZW50czogUiB2ZXJzaW9uIDMuNS4yICgyMDE4LTEyLTIwKSAtLSAnRWdnc2hlbGwgSWdsb28nLCBtYWNPUyBNb2phdmUgKDEwLjE0LjIpLgogICAgCiAgICAqKk1vU0NvVyBUby1EbyBMaXN0KioKICAgIFRoZSB0aGluZ3Mgd2UgTXVzdCwgU2hvdWxkLCBDb3VsZCwgYW5kIFdvdWxkIGhhdmUgZ2l2ZW4gdGhlIHRpbWUgd2UgaGF2ZS4KICAgIF9NXwogICAgKiBBU0FQIC0gYW5hbHlzaXMgb24gcGxhc21hIGJhc2VkIG9uIE9MSU5LIHBsYXRmb3JtCiAgICAqIERPTkUgLSBhbmFseXNpcyBvbiB0aGUgcGlsb3QgZGF0YXNldCBvbiB0aGUgT0xJTksgcGxhdGZvcm0sIGNvbXBhcmluZyBwbGFzbWEgdnMuIHBsYXF1ZQogICAgKiBET05FIC0gbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWxzIChtb2RlbCAxIGFuZCBtb2RlbCAyKSBvZiBgTUNQMV9wZ191Z18yMDE1YCB3aXRoIGN5dG9raW5lcwogICAgKiBET05FIC0gY2hlY2sgb3V0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1lYXN1cmVtZW5zIG9mIGBNQ1AxYCBhbmQgYE1DUDFfcGdfdWdfMjAxNWAgPiBgTUNQMV9wZ191Z18yMDE1YCBhbmQgYE1DUDFfcGdfbWxfMjAxNWAgZ2l2ZSBzaW1pbGFyIHJlc3VsdHMsIGBNQ1AxX3BnX3VnXzIwMTVgIGlzIG1vcmUgY29ycmVjdCBhcyB0aGlzIGlzIGNvcnJlY3RlZCBmb3IgdGhlIHRvdGFsIGFtb3VudCBvZiBwcm90ZWluIGluIHRoZSBwcm90ZWluLXNhbXBsZSB1c2VkIGZvciB0aGUgbWVhc3VyZW1lbnQuIAogICAgKiBET05FIC0gZG91YmxlIGNoZWNrIHRoZSBwbG90dGluZyBvZiB0aGUgTUFDRQogICAgKiBET05FIC0gYWRkIHRoZSBzdGF0aXN0aWNzIGZvciB0aGUgY29ycmVsYXRpb24gb2YgYE1DUDFfcGdfdWdfMjAxNWAgd2l0aCB0aGUgY3l0b2tpbmVzCiAgICAqIERPTkUgLSBhZGQgdGhlIGNvbXBhcmlzb24gYmV0d2VlbiBgTUNQMWAsIGBNQ1AxX3BnX21sXzIwMTVgLCBhbmQgYE1DUDFfcGdfdWdfMjAxNWAKICAgICogRE9ORSAtIGFuYWx5c2lzIGluIHRoZSBjb250ZXh0IG9mIHllYXIgb2Ygc3VyZ2VyeSBnaXZlbiBWYW4gTGFtbWVyZW4gX2V0IGFsLl8gCiAgICAqIERPTkUgLSBhZGQgYW5hbHlzaXMgb24gdnVsbmVyYWJpbGl0eSBpbmRleAogICAgKiBET05FIC0gYWRkIGFuYWx5c2lzIG9uIGJpbmFyeSBhbmQgb3JkaW5hbCBwbGFxdWUgcGhlbm90eXBlcwogICAgKiBET05FIC0gYWRkIGJveHBsb3RzIG9mIE1DUDEgbGV2ZWxzIHN0cmF0aWZpZWQgYnkgY29uZm91bmRlcnMvdmFyaWFibGVzCiAgICAKICAgIF9TXwogICAgKiBET05FIHByZXR0aWZ5IGZvcmVzdCBwbG90CiAgICAKICAgIF9DXwogICAgCiAgICAKICAgIF9XXwogICAgCiAgICAKICAgICoqQ2hhbmdlcyBsb2cqKgogICAgKiB2MS4wLjEyIEFkZCBib3hwbG90cyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IGNvbmZvdW5kZXIvdmFyaWFibGVzLgogICAgKiB2MS4wLjExIEFkZCBhbmFseXNpcyBvZiBwaWxvdCBkYXRhIGNvbXBhcmluZyBPTElOSy1wbGF0Zm9ybSBiYXNlZCBNQ1AxIGxldmVscyBpbiBwbGFzbWEgYW5kIHBsYXF1ZS4KICAgICogdjEuMC4xMCBBZGQgYW5hbHlzZXMgZm9yIGFsbCB0aHJlZSBgTUNQMWAsIGBNQ1AxX3BnX21sXzIwMTVgLCBhbmQgYE1DUDFfcGdfdWdfMjAxNWAuIEFkZCBjb21wYXJpc29uIGJldHdlZW4gYE1DUDFgLCBgTUNQMV9wZ19tbF8yMDE1YCwgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgLiBBZGQgKGFuZCBmaXhlZCkgb3JkaW5hbCByZWdyZXNzaW9uLiBEb3VibGUgY2hlY2tlZCB3aGljaCBtZWFzdXJlbWVudCB0byB1c2UuIAogICAgKiB2MS4wLjkgQWRkZWQgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWxzIGZvciBNQ1AxIHZzLiBjeXRva2luZXMgcGxhcXVlIGxldmVscy4gRG91YmxlIGNoZWNrZWQgdXBsb2FkIG9mIE1BQ0UtcGxvdHMuIEFkZGVkIHN0YXRpc3RpY3MgZnJvbSBjb3JyZWxhdGlvbiAoaGVhdG1hcCkgdG8gdHh0LWZpbGUuCiAgICAqIHYxLjAuOCBGaXhlZCBlcnJvciBpbiBNQ1AxIHBsYXNtYSBhbmFseXNpcy4gSXQgdHVybnMgb3V0IHRoZSBgTUNQMWAgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgIHZhcmlhYmxlcyBhcmUgX2JvdGhfIG1lYXN1cmVkIGluIHBsYXF1ZSwgaW4gdHdvIHNlcGFyYXRlIGV4cGVyaW1lbnRzLCBleHAuIG5vLiAxIGFuZCBleHAuIG5vLiAyLCByZXNwZWN0aXZlbHkuIAogICAgKiB2MS4wLjcgRml4ZWQgdGhlIHBlciBBZ2UtZ3JvdXAgTUNQMSBCb3ggcGxvdHMuIEFkZGVkIGNvcnJlbGF0aW9ucyB3aXRoIG90aGVyIGN5dG9raW5lcyBpbiBwbGFxdWVzLgogICAgKiB2MS4wLjYgT25seSBhbmFseXNlcyBhbmQgZmlndXJlcyB0aGF0IGVuZCB1cCBpbiB0aGUgZmluYWwgbWFudXNjcmlwdC4KICAgICogdjEuMC41IFVwZGF0ZSB3aXRoIDMwLSBhbmQgOTAtZGF5cyBzdXJ2aXZhbC4KICAgICogdjEuMC40IFVwZGF0ZWQgd2l0aCBDb3gtcmVncmVzc2lvbnMuCiAgICAqIHYxLjAuMyBJbmNsdWRlZCBtb3JlIG1vZGVscy4KICAgICogdjEuMC4yIEJ1Z3MgZml4ZWQuCiAgICAqIHYxLjAuMSBFeHRlbmRlZCB3aXRoIGxpbmVhciBhbmQgbG9naXN0aWMgcmVncmVzc2lvbnMuCiAgICAqIHYxLjAuMCBJbml0YWwgdmVyc2lvbi4KICAgIAoKLS0tLS0tCgpgYGB7ciBldmFsID0gVFJVRX0Kc2Vzc2lvbkluZm8oKQpgYGAKCiMgU2F2aW5nIGVudmlyb25tZW50CmBgYHtyIFNhdmluZ30Kc2F2ZS5pbWFnZShwYXN0ZTAoUFJPSkVDVF9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5zYW1wbGVfc2VsZWN0aW9uLlJEYXRhIikpCmBgYAoKLS0tLS0tCjxzdXA+JmNvcHk7IDE5NzktMjAyMCBTYW5kZXIgVy4gdmFuIGRlciBMYWFuIHwgcy53LnZhbmRlcmxhYW4tMlthdF11bWN1dHJlY2h0Lm5sIHwgW3N3dmFuZGVybGFhbi5naXRodWIuaW9dKGh0dHBzOi8vc3d2YW5kZXJsYWFuLmdpdGh1Yi5pbykuPC9zdXA+Ci0tLS0tLQoK